$watch不会启动自动完成ng模型

$watch does not fire autocomplete ng-model

本文关键字:ng 模型 watch 启动      更新时间:2023-09-26

我有一小部分带有$watch的代码,但当使用带有自动完成(jQuery插件)的输入时不会激发。它只在手动输入时才会启动

app.directive("autoCode", ['elementData', function(elementData) {
    var codes = elementData.map(function(ele){
        return ele.Code;
    });     
    return {
     restrict: 'A',
     scope:{        
     },  
      link: function(scope, element, attrs) {     
        $(element).autocomplete({source:[codes]});      
    }};
}]);
app.controller('transactionCtrl',['$scope','elementData', function($scope, elementData){
    var names = elementData.map(function(ele) {
        return ele.Name;
    }),
    codes = elementData.map(function(ele) {
        return ele.Code;
    });
    $scope.$watch('code', function(codeValue){
        console.log(codeValue);
    }); 
}]);

下面是html:

 <form >
    Code: <input type="text" name="code" auto-code ng-model="code">
    Name: <input type="text" name="name" auto-name ng-model="name">
    </form>

如何使它与手动键入和自动完成一起工作?

尝试:

$scope.$watch($("input[name='code']").length, function(codeValue){
        console.log(codeValue);
    });

哦,类似的东西。您必须监视一个多次更改的值