我是新手来解决ui-router中的功能而且我没有得到工厂调用的答案,而我只是简单地传递一个字符串就得到了值。
我为工厂尝试了console.log,我得到了输出。
州功能
.state('trainer.classes',
{ url: "/trainer/classes",
controller:"trainerClassesCntrl",
templateUrl: "views/trainer/trainer.classes.tpl.html",
resolve : {courses : function(courseFactory){
courseFactory.get().then(function(response){
// console.log(response); //Getting output
return response;
});
// return "asdf"; //Getting output as test case.
}
},
permissions:{allow : ['trainer']}
})
控制器
myApp.controller('trainerClassesCntrl',['$scope','apiService','$rootScope','courses',function($scope,apiService,$rootScope,courses){
console.log(courses); // undefined for coursesFactory return and asdf for simple return.
}]);
答案 0 :(得分:0)
你没有回复承诺。尝试这样的事情:
.state('trainer.classes', {
url: "/trainer/classes",
controller: "trainerClassesCntrl",
templateUrl: "views/trainer/trainer.classes.tpl.html",
resolve: {
courses: function(courseFactory){
return courseFactory.get();
}
},
permissions: {
allow: ['trainer']
}
})
您可以在此处阅读有关使用ui-router解析的更多信息: https://github.com/angular-ui/ui-router/wiki#resolve