簡體   English   中英

動態更改點擊屬性

[英]dynamically change on-tap attribute

我正在嘗試做的是基於spa路線更改點擊呼叫的功能。 這是我嘗試過的(在自定義元素中工作)

this.$.menuButton.attr['on-tap'] = "{{newFunction}}";

this.$.menuButton.on-tap = "{{newFunction}}";

以及許多其他嘗試都沒有奏效。 如何更改名稱中包含-的屬性的值? 如果這不可行,那么動態改變點按功能的推薦方法是什么?

如果要使用聲明式路由,仍然可以使用on-*處理程序和數據綁定來翻轉處理程序:

<p on-tap="{{handler}}">Tap me to see what handler is set.</p>
<button on-click="{{setHandler}}" data-handler="oneHandler">Set Handler 1</button>

ready: function() {
  this.setHandler();
},
setHandler: function(e, detail, sender) {
  this.handler = !sender ? this.defaultHandler :  
                           this[sender.dataset.handler];
},
defaultHandler: function() {
  alert('default handler');
},
oneHandler: function() {
   alert('one handler');
}

http://jsbin.com/forame/1/edit

您應該使用事件偵聽器,而不是on- *聲明性事件映射。

this.addEventListener('tap', this.myFunction);
this.addEventListener('tap', this.newFunction);

基本上是同一回事。 但是,如果需要(event, detail, sender)參數,則必須自己傳遞它們。

API參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM