Как дать имя для пользовательской директивы в angularjs

0

Теперь я использую название директивы 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
    еще один вопрос ... как насчет имен атрибутов пользовательских директив? Должен ли я дать имя атрибута, например, dirName вместо имени dir в теге пользовательской директивы.?
Теги:
angularjs-directive

2 ответа

1
Лучший ответ

Из https://docs.angularjs.org/guide/directive#normalization:

Процесс нормализации выглядит следующим образом:

  1. x- и data- с передней стороны элемента/атрибутов.
  2. Преобразуйте имя : -, или _ -delimited в camelCase.

codeInputText словами, code-input-text и codeInputText эквивалентны и соответствуют директиве codeInputText.

  • 0
    как насчет имен атрибутов пользовательских директив ... Должен ли я дать имя атрибута, например, dirName вместо dir-name в теге пользовательской директивы.?
  • 0
    @udays Имя директивы должно быть в camelCase , но имя элемента / атрибута может быть в том случае, если вы хотите, если оно нормализуется к имени директивы. Тем не менее, Angular рекомендует использовать формат с разделителями-тире, то есть code-input-text .
Показать ещё 3 комментария
0

Если вы создали настраиваемую директиву

<codeInputText></codeInputText>

Вы должны использовать

<code-input-text></code-text-input>

это лучшее понимание директивы.

  • 0
    Потому что целое имя директивы само по себе не является частью директивы.
  • 0
    если я использую <codeInputText> </ codeInputText> как это, это будет работать или нет?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню