簡體   English   中英

角度范圍變量在視圖中未更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM