2016-04-28 3 views
1

Я новичок в угловой форме. Я хочу создать собственный шаблон для кнопки. код snippten приведен ниже для справки.угловая формальная кнопка пользовательского типа

<script type="text/ng-template" id="button.html"> 
    <md-button class={{to.class}} ng-click={{to.method}}>{{to.label}}</md-button> 
</script> 

Проблема дает мне мерно ошибку при обработке директивы нг щелчка, так как директива {{to.method}} не была оценена еще.

Нельзя ли сделать что-то подобное? Ни один из угловых формальных примеров не делает кнопку в качестве шаблона, концептуально неправильно делать это в форме?

EDIT:

Ниже соответствующий пользовательский шаблон и JSON:

Я создал пользовательский шаблон для кнопки как:

<script type="text/ng-template" id="button.html"> 
    <md-button class={{to.class}} ng-click="{{to.method}}">{{to.label}}</md-button> 
</script> 

и соответствующие JSON как:

{ 
type: 'button', 
templateOptions: { 
    label: 'Create Item', 
    class: 'md-raised md-primary', 
    method: 'createItem' 
} 

Точная погрешность:

Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{to.method}}] starting at [{to.method}}].

+1

где вы определили объект 'to'. Отправьте полный код. Если возможно, напишите какую-нибудь ссылку на скрипку, чтобы получить более быстрые результаты для вашей проблемы. –

+0

@StarkButtowski Я добавил код в вопрос. Пожалуйста, проверь это. – Rohit

ответ

1

У меня была аналогичная проблема, и вот что я сделал для ее решения. Проводка для других, которые могут иметь одинаковую проблему, поскольку документация на кнопках кажется минимальной.

Примечание: Вам не нужно фигурных скобок на угловых атрибутов

Установка типа:

formlyConfig.setType({ 
 
    name: 'button', 
 
    template: '<button class="{{to.class}}" ng-click="to.method()">{{to.label}}</button>' 
 
});

Тогда где вы добавляющих его в форме:

{ 
 
    key: 'myBtn', 
 
    type: 'button', 
 
    templateOptions: { 
 
    class: 'btn-primary', 
 
    label: 'My Test Button', 
 
    method: function() { 
 
    alert('test'); 
 
    console.log('test'); 
 
    } 
 
    } 
 
}

Cheers!

+0

как я могу интегрировать новый тип в свой код? это формальноConfig.setType ..... –

 Смежные вопросы

  • Нет связанных вопросов^_^