2017-02-22 48 views
0

Я разрабатываю настраиваемый компонент, и я хотел бы установить некоторые требуемые условия для некоторых входных атрибутов. Есть ли способ сделать это?Как требовать атрибут в пользовательском компоненте в угловом

Например, говорят, что компонент «MYCOMP» и два атрибута являются «обязательным» и «необязательным» Я хотел бы, что:

<my-comp required="value" optional="value"></my-comp> 

этот пробег успешно

<my-comp required="value"></my-comp> 

это Кроме того, можно использовать также:

<my-comp optional="value"></my-comp> 

посылает какую-то ошибку в консоли, сообщая, что ibute «требуется», конечно, «требуется».

На данный момент я использую версию машинопись angularJs (версия 1.5.x) и объявить атрибуты внутри объекта привязки, как это:

export class MyCompComponent implements ng.IComponentOptions { 
    public template: string = '<p>TEMPLATE</p>'; 
    public controller: Function = MyCompController; 
    public bindings: any = { 
     required: '@', 
     optional: '@' 
    } 
} 

ответ

0

Проверка атрибута в контроллере:

app.controller("MyCompController", function($element,$attrs) { 
    if (!$attrs.required) { 
     console.error("BAD my-comp ",$element[0], 
      "my-comp component missing 'required' attribute"); 
    } 
    }) 

DEMO on PLNKR

+0

что интерфейс для $ элемента и $ ATTRS? Например, для $ log я использую ng.ILogService – Gianmarco