【发布时间】:2017-04-27 07:23:27
【问题描述】:
我正在寻找一种使用 Angular 1.5 扩展或包装第三方指令 html 的方法。
给定一个指令
<lib-input></lib-input>
我想创建一个指令<my-lib-input> 来呈现以下 HTML:
<div>
<my-directive></my-directive>
<lib-input ng-if="vodoo()"></lib-input>
</div>
这应该与原始指令的使用方式相同。
示例
要以与原始指令相同的方式使用我的指令,我需要将所有属性移动到模板的特定节点:
<my-lib-input ng-model="model" ng-change="ctrl.onChange()"></my-lib-input>
应该生成:
<div>
<my-directive></my-directive>
<lib-input ng-if="vodoo()" ng-model="model" ng-change="ctrl.onChange()"></lib-input>
</div>
然而,默认情况下,angular 会将所有属性应用于根节点(这里:div)。
问题
如何将传递给我的指令的所有参数/属性应用到模板的特定节点?
我想防止在我的指令中硬编码可用参数列表,例如:
restrict: 'E',
scope : {
ngModel: '=',
ngChange: '&',
...
}
【问题讨论】:
标签: javascript angularjs templates angularjs-directive