2
以下示例取自聚合物飛鏢documentation on behaviors。它利用toggleHighlight
中的方法set
。我不明白這是如何可能的,因爲set
沒有在任何地方定義。如何在聚合物鏢行爲混合中設置屬性?
@behavior
abstract class HighlightBehavior {
@Property(notify: true, observer: 'highlightChanged')
bool isHighlighted = false;
static created(instance) {
print('Highlighting for $instance enabled!');
}
@Listen('click')
toggleHighlight(_, __) {
set('isHighlighted', !isHighlighted);
},
@reflectable
highlightChanged(bool newValue, _) {
toggleClass('highlighted', newValue);
}
}
如何在觸發所有使數據綁定工作的功能的行爲中設置聚合物屬性?
一個行爲是否應該執行PolymerBase
以便能夠使用set
-method?快速測試顯示set
在行爲執行PolymerBase
時起作用。但這不是如何記錄的。我可以通過實施PolymerBase
來誘發一些不需要的副作用嗎?
謝謝,現在我明白了。 來自Java需要一些時間才能習慣這個功能。 –
偉大的:-)行爲是複雜的,行爲的文件備件,所以不明顯。在用一些代碼繞過之後,事情變得更加清晰。其實我不需要編寫自己的行爲,開始一次,但所需的功能已經在polymer_elements庫中。 –
我正在爲一個業務應用程序構建一個框架,我想用元素的行爲來公開一個公共API。請參閱下面的示例,其中'view-companies'和'view-users'在ViewBehavior中混合,允許shell元素處理其子元素。 ' view-companies> '我認爲這種分組通用功能的用例符合行爲的思想。 –