[英]Data is not updated when using as object, but changes normally when it's a variable
[英]variable references an object's value, but is not updated when the object is
我正在測試Angular.js(非常喜歡它),但事實上這可能更像是一個純粹的問題。
練習場景是我有兩場比賽:
我在這里代表第一場比賽:
$scope.match1 = {
p1: "Player A",
p2: "Player B",
winner: "to be determined"
};
當我設置第二場比賽時,我聲明一個變量,其中包含對比賽1獲勝者的引用 ,如下:
$scope.match2 = {
p1: $scope.match1.winner,
p2: "Player C",
winner: "tbd"
};
現在我有一個按鈕點擊,它指定一個贏家匹配1,但是這個值沒有通過匹配2(match2.p1值保持“待確定”,盡管它引用了match1.winner,現在更新)。
是什么賦予了? 在此先感謝您的幫助或貢獻!
這是一個小提琴: http : //jsfiddle.net/legolandbridge/mAjX5/2/
這是因為您的winner
字段是字符串而不是object
。 而你無法獲得String的引用。 這將是價值。
將winner
字段作為object
因此當您更改winner
者的值時,它也將在match2
更改。
嘗試像波紋管一樣的東西。
function AppCtrl($scope) {
$scope.match1 = { // p1 vs p2
p1: "Player A",
p2: "Player B",
winner: {name:"to be determined"} //Object
};
$scope.match2 = {
p1: $scope.match1.winner, // an reference to winner of match one
p2: "Player C",
winner: "to be determined"
};
$scope.getWinner = function() { //on click
$scope.match1.winner.name = "Player B";
console.log($scope.match2.p1); //value is updated
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.