У меня есть пользовательский полимерный элемент, который является формой и имеет что-то вроде этого.Назначение функции опубликованному атрибуту
Dart сценарий:
@CustomTag('my-form')
class MyForm extends PolymerElement {
@published Function submitFunction;
validateAndSubmit() {
// validate
submitFunction();
}
}
HTML:
<polymer-element name="my-form">
<template>
<button id="submitButton" on-click="{{ validateAndSubmit }}">Submit</button>
</template>
</polymer-element
При нажатии кнопки отправить щелкают, функция представить будет называться, но как вы можете видеть, что это должно быть установлено на что-то первым , Я использую этот элемент несколько раз на одной странице, и для каждой формы мне нужно сделать что-то другое.
В моей основной я это:
@CustomTag('my-form')
class MyCustomForm extends MyForm {
// The below commented out line would work if I only had one form.
// var submitFunction = submitForm1;
submitForm1() {
// do stuff with form 1
}
submitForm2() {
// do stuff with form 2
}
}
И в HTML:
<my-form id="form1" submitFunction="{{ submitForm1 }}"></my-form>
<my-form id="form2" submitFunction="{{ submitForm2 }}"></my-form>
Но это не работает. Функции submitForm не запускаются вообще. Какие-либо предложения?
У меня есть полимер: "> = 0.15.1 <0.17.0" в моем pubspec.yaml, но я думаю, что это версия Дарт? Пробовал без пробелов, но не повезло. Как я могу установить это программно? Например, если бы я хотел выбрать идентификатор my-form по идентификатору, а затем программным образом установить атрибут submitFunction, как бы я это сделал и где будет идти код? – maus
Извините, я предположил, что Polymer 1.0.0-rc. Я еще раз проверю. –
Для Polymer вам нужно добавить тире в имени события 'on-click' вместо' onclick'. –