我有一個自定義聚合物元素是一種形式,並採取這樣的事情。指定功能發佈屬性
飛鏢腳本:
@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中,但我認爲這是Dart版本?嘗試沒有空間,但沒有運氣。我如何設置這個編程?就像如果我想通過ID選擇我的表單,然後以編程方式設置submitFunction屬性,我該怎麼做,代碼將會放在哪裏? – maus
對不起,我以爲Polymer 1.0.0-rc。我會再檢查一次。 –
對於聚合物,您需要在事件名稱'on-click'而不是'onclick'中添加短劃線。 –