即使没有ngModel,也可以将watch添加到指令内部element.val()

时间:2016-06-07 06:13:21

标签: angularjs angularjs-directive jqlite

---html---
<input-wrap>
<input type="text"/>
</input-wrap>

---js---
myModule.directive('inputWrap',function(){
   return{
       restrict: 'E',
       priority: 0,
       link: function(scope,element,attr){
           var myInput = element.find('input');
           scope.$watch(myInput.val(),function(val){
                 console.log('recipe is now:'+val);
           });
       }
   }
});

即使没有(&#39;更改&#39;)和(&#39;输入&#39;)的帮助,我也希望这样做 因为这个值有时会被我使用的插件修改过来,并且它不会触发onChange和onInput事件。

1 个答案:

答案 0 :(得分:1)

写下你的观察者:

myModule.directive('inputWrap',function(){
return{
   restrict: 'E',
   priority: 0,
   link: function(scope,element,attr){
       var myInput = element.find('input');
       scope.$watch(function() { return myInput.val() },function(val){
             console.log('recipe is now:'+val);
       });
   }
 }
});