Angular Controller无法读取服务更新.任何建议



我的情况在我的角度服务中,我有许多属性。这些属性链接到控制器。

服务:

angular.module('...')
    .factory('PollServ', function PollServ($http, ...) {
        var service = {
            question: '',
            votes: [[]]
        }
        ...
        // make http request to API
        var request = $http({ ...
        // once the value is retrieved, update properties
        request.then(function (res) {
            service.question = res.data.question;
            ...
    }

控制器:

angular.module('...')
    .controller('PollCtrl', function PollCtrl(..., PollServ) {
        $scope.question = PollServ.question;
        $scope.votes = PollServ.votes;
        ...

现在,尽管票数正在正确更新,但问题不是。我没有做任何不同的事情,除了votes是一个数组,而question只是一个常规字符串。我认为该数组可能与能够动态更新有关,而不是简单的字符串。

我该如何使其工作,而不必不必要地将字符串变成数组?

您自己说了 - 问题是string,因此不会在您的控制器/视图中更新。

您能做的就是将问题转变为对象。例如:

在工厂

var service = {
    question: {
        name: ''
    },
    votes: [[]]
}
...
service.question.name = res.data.question;

然后,您需要将视图中的参考更改为question.name

相关内容

  • 没有找到相关文章

最新更新