我正在使用ui-router来路由我的角度应用。我已设置路由配置但不想使用控制器作为语法。我使用以下语法:
.state('blog',{
url: '/blog',
templateUrl: '/templates/blog.html',
controller: 'BlogController'
})
然而,模板被调用到我的ui-view中,但我没有调用BlogController。我已将console.log()用于我的BlogController,但我在控制台中没有看到任何内容。这是我的BlogController.js
app.controller('BlogController', function($scope, PostService,){
console.log(0);
PostService.getPost().then(function(post){
$scope.postModel = post;
});
console.log(1);
});
如您所见,我正在使用服务来使用$ http调用数据。以下是我的PostService:
app.service('PostService', function ($http) {
this.getPost = function () {
return $http({
method : 'GET',
url : 'http://domain.com/wp-json/wp/v2/posts'
})
.then(function(response){
return response.data;
}, function(error){
return error;
});
};
});
我认为这与服务电话有关。我在ui-router的状态方法中读过一些关于resolve属性的帖子。我试过了,但没有任何工作。有人可以帮我摆脱这个吗?
答案 0 :(得分:0)
ui-router module
的声明错误
var app = angular.module('mySiteApp', [require('angular-ui-router')])
应该是,
var app = angular.module('mySiteApp', ['ui.router'])