是否有一种简单的方法来定义每个文本框的占位符文本
以:
的形式"请输入最大的x chars",其中x是ng-maxlength的内容
或我必须手动写下它:
<input class="form-control" ng-model="valueBag.test"
ng-maxlength="30"
placeholder="Please enter a maximum of 30 Chars">
我已经有30多个现有输入的表格,我想将占位符添加到每个表格中(这是很棒的,而不是手动执行)。
我认为您可以创建一个简单的指令:
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