当状态发生变化时,控制器没有收到呼叫

时间:2016-10-25 07:22:08

标签: angularjs

我正在使用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属性的帖子。我试过了,但没有任何工作。有人可以帮我摆脱这个吗?

1 个答案:

答案 0 :(得分:0)

ui-router module的声明错误

var app = angular.module('mySiteApp', [require('angular-ui-router')])

应该是,

var app = angular.module('mySiteApp', ['ui.router'])

Check this link for cors errors