现在我使用camelcase指令名称,如下所示
<code-input:text></code-input:text> (or)
<code-input-text></code-text-input>
我可以使用自定义指向名称和属性,
<code-input:text dirType="text" labelHead="Code" dirName="Code" dirId="code" dirClass="form-control" dirModel="taskCreateForm.code" section-class="col col-3 required"></code-input:text>
如果我给出这样的意思,那么就不会从指令中渲染模板。因为,我已经为此动态设置了每个属性。
scope : {
dirName : '@',
dirType : '@',
dirModel : '=',
labelHead : '@',
sectionClass : '@',
},
template : [
'<section class="{{sectionClass}}">',
'<label class="label">{{labelHead}}</label>',
'<label class="input">',
'<input type="{{dirType}}" name="{{dirName}}" id="{{dirId}}" class="{{dirClass}}" ng-model="dirModel">',
'</label>',
'</section>'
].join(''),
任何人都可以给我指导..可能或因为这个问题而发生任何问题。这不是标准方式吗?
答案 0 :(得分:1)
来自https://docs.angularjs.org/guide/directive#normalization:
规范化过程如下:
- 从元素/属性的前面剥离
x-
和data-
。- 将
醇>:
,-
或_
- 分隔名称转换为camelCase
。
也就是说,code-input-text
和codeInputText
是等效的,并与codeInputText
指令匹配。
答案 1 :(得分:0)
如果你创建了像
这样的自定义指令<codeInputText></codeInputText>
你必须使用
<code-input-text></code-text-input>
更好地理解指令。