javascript - angularjs ngblur不生效 onblur生效,為什么?
問題描述
<input type='text'ng-model='$ctrl.replyString'>
這個input使用ng-blur是不會觸發的,但是直接DOM綁定onblur事件是會觸發,為什么?
問題解答
回答1:你用的是1還是2如果是2的話,可以<input type='text' [(ngModel)]='myModel' (blur)='onBlurMethod()'>
export class AppComponent { myModel: any; constructor(){ this.myModel = ’123’; } onBlurMethod(){ alert(this.myModel) }}回答2:
angular1的ng-blur要通過指令才能使用,指令的作用其實就是將ng-blur綁定的事件應用到onblur事件
app.directive(’ngBlur’, [’$parse’, function($parse) { return function(scope, element, attr) { var fn = $parse(attr[’ngBlur’]); element.bind(’blur’, function(event) { scope.$apply(function() {fn(scope, {$event:event}); }); }); }}]);
相關文章:
1. 簡單的Java示例以14個線程運行。為什么?2. javascript - 最小函數準則 一個函數里只能干一件相關事情 為什么?真的有意義嗎?~3. mysql無法刪除字段(錯誤1091),但是對該字段設置主鍵后就可刪除,為什么?4. 在Java的單獨一行中指定的URL不會發出編譯時錯誤。為什么?5. java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver發生異常。為什么?6. python - 用os.environ能獲取到的環境變量,在os.environ.getenv卻得不到,這是為什么?7. java - 向mongoDB中插入數據時,cpu的system time很高是為什么?8. mysql起不來了,為什么?9. 使用Java Lock變量之前要進行賦值。為什么?10. android - 繼承一個BaseAdapter類后重寫了一些方法,但是這些方法在父類中找不到,這是為什么?
