2014-09-04 34 views
1

我有一個對象的服務,並且該對象有一個屬性值,我將其設置爲引用控制器的作用域值。爲什麼當我更新範圍值時,服務值不會更新,反之亦然?對服務數據的作用域變量引用AngularJS

.service('Item', function() { return { value: 0 }} 
.ctrl('Ctrl', function ($scope, Item) { 
    $scope.value = Item.value; 
    Item.value = 2; 
}); 

回答

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} 

這裏,Plnker code