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内部搞定的,写错了名字就一直引用不到,也就没法生效了。