替换值时,AngularJS视图不会更新

时间:2016-08-08 09:37:07

标签: javascript angularjs

我有以下html:

<input type="text" ng-model="skype" ng-change="checkInput('skype')">

功能是:

$scope.checkInput = function(value) {
    var string = $scope[value],
        pattern = /[^a-zA-Z]+/g;

    string = string.replace(pattern, '');
}

现在,console.log显示该字符串已成功替换,但视图未更新。 最奇怪的部分是使用子字符串时视图更新!

string = string.substring(0, 10);

怎么了?

1 个答案:

答案 0 :(得分:6)

您没有为范围设置任何值,以便角度可以观察并做出反应,您的功能正在做某事但从未将值设置为范围。

$scope.checkInput = function(value) {
    var string = $scope[value],
        pattern = /[^a-zA-Z]+/g;

    $scope.skype = string.replace(pattern, '');
}