我有一个带有对象的服务,并且该对象具有属性值,我将其设置为引用控制器的范围值。为什么当我更新范围值时,服务值不会更新,反之亦然????
.service('Item', function () { return { value: 0 }}
.ctrl('Ctrl', function ($scope, Item) {
$scope.value = Item.value;
Item.value = 2;
});
答案 0 :(得分:1)
试试这个 -
app.service('Item', function(){
this.value = 0; // instead of value return { value: 0 }
});
app.controller('ACtrl', function ($scope, Item) {
console.log('Item', Item);
$scope.value = Item.value;
console.log('$scope.value', $scope.value);
Item.value = 2;
console.log('Item', Item);
});
以上代码的输出 -
Item Constructor {value: 0}
$scope.value 0
Item Constructor {value: 2}