我想从 firebase 单独加载对象的每个子项。
下面给出了一个非工作代码片段,可以更好地解释这个想法:
var userId = firebase.auth().currentUser.uid;
firebase.database().ref('/users/'+userId+"/foo/list").once('value').then(function(list) {
var reffoo = firebase.database().ref().child("/foo/");
for (var i = 0; i < list.length; i++) {
ref = reffoo.child(list[i]);
$scope.foo[ref] = $firebaseObject(ref);
}
});
Run Code Online (Sandbox Code Playgroud)
根据我的分析,问题是$firebaseObject 对 firebase 进行异步调用,但不知道如何使其工作?
我不明白为什么我在 Angular 1.6.4 中出现“控制器未注册”错误。
控制器:
var app = angular.module('app', ['ngRoute']);
app.controller("formCtrl", function($scope, $rootScope, $stateParams) {
$scope.id = $stateParams.id;
});
Run Code Online (Sandbox Code Playgroud)
指数:
<html>
<head>
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="js/formCtrl.js" type="text/javascript"></script>
<script src="js/app.js" type="text/javascript"></script>
</head>
<body ng-app="app">
<div ng-view>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
应用程序:
app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when("/:id", {
templateUrl: './partials/main.html',
controller: 'formCtrl'
});
})
Run Code Online (Sandbox Code Playgroud)