我们创建了一些指令来加速编码和清理htmls,例如:
<div class="form-group">
<label class="form-label">{{label}}
<input ng-disabled="ngDisabled" ng-model="ngModel" type="text" class="form-control"/>
</label>
<div ng-if="invalidMessage" class="error">{{invalidMessage}}</div>
</div>
和js
angular.module('ui.default-input', [])
.directive('defaultInput', function(){
return {
restrict: 'E',
templateUrl: '_component.html',
scope: {
label: '@',
invalidMessage: '@',
ngModel: '=',
ngDisabled: '='
}
}
});
所以我们可以在任何地方使用它,比如
<default-input label="im a label" ng-model="vm.model"></default-input>
问题是,每当我们想要向输入添加另一个指令时,我们必须在指令自己的作用域中定义它并手动应用它。 (就像我们使用ngDisabled和ngModel一样)。
有更聪明的解决方案吗?以这种方式使用指令是错误的吗?
提前致谢。