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