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

Adding watch to directive inner element.val() even without ngModel

---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);
           });
       }
   }
});

即使没有 on('change') 和 on('input') 的帮助,我也想这样做 因为这个值有时会被我使用的插件修改,它不会触发 onChange 和 onInput 事件。

像这样写你的观察者:

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);
       });
   }
 }
});