javascript - Angular watch 功能在 safari 浏览器中不起作用

标签 javascript angularjs

我有一个搜索文本框。我正在输入值,按下回车键就会给出结果。

这是我的 HTML 代码

     <input type="text" class="filter-input" my-enter="submitFilterForm()" ng-model="vm.query" auto-focus />

这是我的 JS 文件

              $scope.$watch("vm.query", function(name) {
            $scope.validationError = false;
            console.log("value of query is", name);
            filterStateService.updateSearchQuery(name);
        });

my-enter 是我的自定义指令。在 ng-model="query"上,我在 JS 中定义了一个 $watch 函数。

如果我在文本框中逐字符输入值,则 $scope.query 打印正确。但如果我直接复制该值并粘贴到文本框中,它就会为空。当我直接在搜索框中复制并粘贴值时,$watch 不起作用。我该如何解决这个问题。

最佳答案

尝试使用 ng-change 而不是 watch 函数:

HTML:

<input type="text" class="filter-input" my-enter="submitFilterForm()" ng-model="query" ng-change="queryChanged" ge-auto-focus />

JS:

function queryChanged(){
     $scope.query //do something
}

关于javascript - Angular watch 功能在 safari 浏览器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44651506/

相关文章:

angularjs - POST 请求 405 错误 (AngularJS $http)

javascript - AngularJS - 对象分配不起作用

javascript - 如何将我的 HTML 与我的 jQuery 链接起来?

angularjs - 使用 Html5Mode 刷新页面时出现意外 token

angularjs - 将当前的 Angular.JS 迭代器传递到表单提交的函数中?

javascript - 我的实时搜索元素没有转换成输入框

javascript - 如何在我的 React 表单提交处理程序中正确捕获和解析错误?

javascript - 通过数组显示输入

javascript - 在 Visual Studio 中调试 javaScript。第一次机会异常(exception)

javascript - 使用图像和文本自定义 VisJS 方形标签