在AngularJS中按字符串访问变量

时间:2016-10-15 07:21:16

标签: javascript angularjs angularjs-scope eval

我想访问并更新变量状态。

function valueChange(sourceVariable, targetVariable, sourceUnit) {
    $scope[targetVariable] = measure($scope[sourceVariable] + sourceUnit + ".").kilograms();        
}); 

只要在输入字段中输入内容(在标签输出上),就会调用此函数。但问题是输入字段中绑定到$ scope [targetVariable]的值在您单击输入框内部之前不会更新。

PS:如果我以常规方式使用变量,它可以正常工作。

1 个答案:

答案 0 :(得分:1)

您可能需要在$scope.$apply内添加变量:

function valueChange(sourceVariable, targetVariable, sourceUnit) {
    $scope.$apply(function() {
          $scope[targetVariable] = measure($scope[sourceVariable] + sourceUnit + ".").kilograms();      
    });  
});