Теперь я использую название директивы 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(''),
может ли кто-нибудь дать мне руководство... не возможно или какая-либо проблема произошла из-за этого. Не так ли это стандартным образом?
Из https://docs.angularjs.org/guide/directive#normalization:
Процесс нормализации выглядит следующим образом:
x-
иdata-
с передней стороны элемента/атрибутов.- Преобразуйте имя
:
-
, или_
-delimited вcamelCase
.
codeInputText
словами, code-input-text
и codeInputText
эквивалентны и соответствуют директиве codeInputText
.
camelCase
, но имя элемента / атрибута может быть в том случае, если вы хотите, если оно нормализуется к имени директивы. Тем не менее, Angular рекомендует использовать формат с разделителями-тире, то есть code-input-text
.
Если вы создали настраиваемую директиву
<codeInputText></codeInputText>
Вы должны использовать
<code-input-text></code-text-input>
это лучшее понимание директивы.