javascript - 替换值时 AngularJS View 不更新

标签 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 显示字符串已成功替换,但是 View 没有更新。 最奇怪的部分是当使用子字符串时 View 更新!

string = string.substring(0, 10);

怎么了?

最佳答案

您没有为范围设置任何值,以便 Angular 可以观察并对此使用react,您的函数正在做某事但从未为范围设置值。

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

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

关于javascript - 替换值时 AngularJS View 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38825759/

相关文章:

javascript - 是否可以使用 AngularJS $formatters 添加额外的零? (或者以任何可能的方式,输入数字?)

javascript - 从使用动态加载的页面进行 Ajax 加载

javascript - 如何将 Laravel 变量传递到我的 AngularJS View 中?

angularjs - 没有监听器的 Angular 范围 $watch

javascript - Bootstrap 模式内的 Magnific-Popup

html - Mozilla Firefox 表示 Referenceerror 事件未定义,没有解决方案

java - 如何将 Rhino Javascript 1.7 库添加到 Weblogic 10 中的类路径

javascript - 来自 XML 节点的 onclick 事件

angularjs - AngularJs 的数据持久化库

javascript - 无法清除超时