我遇到了这个问题,当我在Angular-ui-router中使用resolve时,导致我的站点每秒执行数百个get请求,但未加载视图。我正在使用完整的MEAN堆栈。
使用内联模板创建视图,例如:
<script type="text/ng-template" id="/home.html">......</script>
然后在<ui-view>
标签中使用。
请看下面的代码:
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?感谢所有答案,谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句