我有一种情况,在我的角度服务中,我有很多属性。这些属性链接到控制器。
服务:
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
只是一个常规字符串。我认为数组可能与能够动态更新有关,但不是简单的字符串。
如何在没有必要将字符串转换为数组的情况下使其工作?
答案 0 :(得分:0)
您自己说过 - 问题是string
,因此不会在控制器/视图中更新。
你能做的就是把问题变成一个对象。例如:
在工厂
var service = {
question: {
name: ''
},
votes: [[]]
}
...
service.question.name = res.data.question;
然后,您需要将视图中的引用更改为question.name
。