我希望我的angularFire
集合可以解决路由加载问题。类似的东西:
App.config ($routeProvider, angularFireProvider) ->
$routeProvider.when '/test',
templateUrl: 'views/test.html'
controller: 'TestCtrl'
resolve: angularFireProvider.resolve 'testItems'
是否可以这样做?
答案 0 :(得分:2)
我不确定为什么你希望集合在路由加载时解决,而不是在控制器中 - 你能详细说明吗?例如,以下内容也适用:
App.config ($routeProvider, angularFireProvider) ->
$routeProvider.when '/test',
controller: 'TestCtrl'
function TestCtrl($scope, angularFire) {
angularFire("https://<example>.firebaseio.com", $scope, "collection").
then(function() {
// The collection has been resolved and available in $scope.collection
});
}
这主要是语法上的方便还是我在上面缺少你想要的功能?
更新:对于在$routeChangeSuccess
事件被触发之前要解决的值:
App.config(['$routeProvider', 'angularFire', function($routeProvider, angularFire) {
$routeProvider.when("/test", {
templateUrl: 'views/test.html'
controller: 'TestCtrl',
resolve: {collection: angularFire("https://<example>.firebaseio.com")}
});
}]);
function TestCtrl(collection) {
// collection has already been resolved to its value.
}