Angular-UI-router解析不起作用
问题描述:
我得到了这个问题,当我在Angular-ui-router中使用解析时,导致我的站点每秒执行数百次获取请求,但没有加载视图。我正在使用完整的MEAN堆栈。在<ui-view>
标签使用Angular-UI-router解析不起作用
<script type="text/ng-template" id="/home.html">......</script>
然后:
的意见与联模板e.g创建。
请看看这段代码:
app.factory('posts', ['$http', function($http) {
var o = {
posts: []
};
o.getAll = function() {
return $http.get('/posts').success(function(data){
angular.copy(data, o.posts);
});
};
return o;
}]);
app.config([
'$stateProvider',
'$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl',
resolve : {
postPromise : ['posts',
function(posts) {
return posts.getAll();
}]
}
})
如果我不使用的决心,该页面是好的,它加载。
编辑: 我把它写下来,我写的代码是角度版本< = 1.4因此我需要使用.then而不是.success,但是当我使用.then我没有获得持久性数据工厂应该这样做。
所以,新的问题,我应该只留在angularJs 1.4或尝试/获得帮助将其转换为1.6?感谢所有的答案,谢谢。
答
而不是直接返回$http
promise
对象,将promise
对象放入一个变量并返回它。请尽量休闲,它对我有用。
var promise = $http.get('posts');
promise.then(function(response) {
},
function(data) {
});
return promise;
请注意success
和error
回调在angular 1.6
弃用,请then
。