Javascript Ui路由器和Firebase:处理用户$stateParam更改
我的应用程序的一部分是一个博客。我只想在用户更改URL参数时重定向它。Javascript Ui路由器和Firebase:处理用户$stateParam更改,javascript,angularjs,firebase,angular-ui-router,angularfire,Javascript,Angularjs,Firebase,Angular Ui Router,Angularfire,我的应用程序的一部分是一个博客。我只想在用户更改URL参数时重定向它。$stateParam。 我在服务中使用了Firebase: angular.module('myApp') .factory('CrudFactory',['CrudService','$state',函数(CrudService,$stat){ var Crud=函数(){ CrudService.apply(这个,参数); }; Crud.prototype.loadData=函数(recordKey){ var da
$stateParam
。
我在服务中使用了Firebase
:
angular.module('myApp')
.factory('CrudFactory',['CrudService','$state',函数(CrudService,$stat){
var Crud=函数(){
CrudService.apply(这个,参数);
};
Crud.prototype.loadData=函数(recordKey){
var data=this.firebaseObject(this.ref.child(recordKey));
datas.$loaded().then(函数(数据){
控制台日志(数据);
}).catch(函数(错误){
console.log(错误);
});
返回数据;
};
返回积垢;
}]);
/*post.controller.js文件*/
有棱角的
.module('myApp')
.controller('postcrl'、['$scope'、'$stateparms'、'CrudFactory',函数($scope、$stateparms、CrudFactory){
var crud=新的CrudFactory(“posts”);
$scope.data=crud.loadData($stateParams.postId);
}]);
/*index.js文件*/
config(函数($stateProvider、$urlRouterProvider、$locationProvider){
$stateProvider.state('post'{
url:“/blog/:posted”,
templateUrl:'app/blog/posts/post.single.html',
控制器:'PostCtrl'
})
$urlRouterProvider。否则('/');
}]);代码>这是相当不清楚的。任何地方都没有可以解决/拒绝的承诺?代码中唯一的承诺是用于console.log。我想您应该从Crud.prototype.loadData()返回$loaded()。此外,对于宇宙中所有纯净美好的事物,不要将Firebase放在一种叫做CrudFactory的东西中:(CRUD击败了所有实时的强大功能。@加藤很抱歉,我刚才说的是$loaded
返回的承诺。我想我会比较返回的值并重定向用户。@FirebaseTeam:无意冒犯,Firebase是一个强大的工具;)