这是我的路线:
$routeProvider.when('/blog/bearbeiten/:id', {
templateUrl: 'adminpages/blog/beitragbearbeiten',
controller: 'blogEditPostController',
resolve: {
loadData: function($q, $route, blog) {
var defer = $q.defer();
var post = $route.current.params.id;
var fn = function(result) {
defer.resolve(result);
};
blog.getPost(post, fn);
return defer.promise;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
app.controllers.controller('blogEditPostController', function(loadData) {
});
Run Code Online (Sandbox Code Playgroud)
这是博客服务:
app.services.factory('blog', function ($http) {
return {
getPosts: function(page, fn) {
$http.get('/api/posts/' + page).
success(function(data) {
fn(data);
});
},
getPost: function(id, fn) {
$http.get('/api/post/' + id).
success(function(data) {
console.log(data);
fn(data);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
调用defer.resolve函数,加载模板,结果变量的内容正确; 但我得到这个错误:
错误:未知提供者:loadDataProvider < - loadData at Error()at http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:2765:19 at Object.getService [as get](http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:2891:39)在http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular .js:2770:45 at getService(http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:2891:39)at invoke(http://ajax.googleapis.com/ ajax/libs/angularjs/1.1.5/angular.js:2909:13)at Object.instantiate(http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:2943:23) 在http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:5368:28 在http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular. js:4937:17 atEach (http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:155:20)angular.js:6349
当我在收到上述错误后再次尝试加载视图时,出现此错误:
错误:循环依赖:在调用时在getService(http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:2884:17)的Error()处(http://ajax.googleapis) .com/ajax/libs/angularjs/1.1.5/angular.js:2909:13)at Object.instantiate(http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js: 2943:23)在http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:5368:28 在http://ajax.googleapis.com/ajax/libs/angularjs/1.1 .5/angular.js:4937:17 atEach (http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:155:20)at nodeLinkFn(http:// ajax. googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:4922:11)在compositeLinkFn(http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js:4550:15)在compositeLinkFn(http://ajax.googleapis.com/ajax/libs/angularjs /1.1.5/angular.js:4553:13)
我在这里错过了什么?我之前使用过相同的语法,它运行得很好
归档时间: |
|
查看次数: |
2705 次 |
最近记录: |