我想你可以只創建一個簡單的指令:
app.directive('formControl', function() {
return {
restrict: 'C',
link: function(scope, e, attr) {
var el = e;
if (attr['ngMaxlength']) {
el.attr('placeholder', 'Please enter a maximum of ' + attr['ngMaxlength'] + ' Chars')
}
}
}
});
這將適用於具有form-control
類和ng-maxlength
組的任何元素。
演示:http://plnkr.co/edit/m1K49L2pHAHaAmfXrrk6?p=preview
你也許可以用這樣不需要類創建輸入元素指令脫身:
app.directive('input', function() {
return {
restrict: 'E',
link: function(scope, e, attr) {
var el = e;
if (attr['ngMaxlength']) {
el.attr('placeholder', 'Please enter a maximum of ' + attr['ngMaxlength'] + ' Chars')
}
}
}
});
的對角指令幫助文檔,現在是偉大的(不是那麼過去):http://docs.angularjs.org/guide/directive
不需要'angular.element(e)'和'el.hasClass('form-control')' –
你是對的,我在早晨喝咖啡之前就做了這個! – lucuma
真棒,謝謝! –