angular環境下,寫了一個directive,掛在input上,怎麼都沒反應。
後來拿來之前的代碼看了下,被自己蠢哭了。
js裏
app.directive('checkQty', function() {
return {
restrict: 'A',
require: '?ngModel',
link: function(scope, element, attrs, ngModel) {
if (!ngModel) return;
...
}
};
});
html裏
<input type="text" ng-model="qty" check-qty="" />
看出問題了嗎,在directive裏定義的時候名稱是 checkQty, 在input裏使用的時候名稱是check-qty,這個轉換時angular內部搞定的,寫錯了名字就一直引用不到,也就沒法生效了。