[英]angular scope variable not updated in view
初學者的角度問題。 大概。
為什么
//1
function setValue(target, value) {
target = value;
}
setValue($scope.var1, 25);
不起作用,但是
//2
function setValue(target, value) {
$scope[target] = value;
}
setValue("var1", 25);
有嗎
代碼在控制器內部。 我試圖使我的代碼更具模塊化,但是當我將變量作為字符串而不是作為引用傳遞時,我皺着眉頭。 我嘗試在前者中添加一個$scope.$apply()
,就像在其他地方向我建議的那樣,但這在這里引發了錯誤。
非常感謝
當$scope
的值更改時,Angularjs會更新其視圖。
因此,根據您的第一個代碼塊
function setValue(target, value) {
target = value;
}
setValue($scope.var1, 25);
因為$scope.var1
是一個字符串,所以這里將按值傳遞它,並且在更新目標變量$scope
保持不變,這就是為什么它沒有被更改的原因。
在第二個代碼塊中
function setValue(target, value) {
$scope[target] = value;
}
setValue("var1", 25);
在這里,您直接更改$scope
以便更新視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.