首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更改on-抽头属性

问动态更改on-抽头属性
EN

Stack Overflow用户
提问于 2014-10-03 16:17:25
回答 2查看 873关注 0票数 2

我想要做的是改变基于水疗路线的点播通话功能。下面是我尝试过的(在自定义元素中工作)

代码语言:javascript
复制
this.$.menuButton.attr['on-tap'] = "{{newFunction}}";

也是

代码语言:javascript
复制
this.$.menuButton.on-tap = "{{newFunction}}";

除了许多其他尝试之外,没有一次成功。如何更改包含名称中的-的属性的值?如果这不是可行的,那么动态地更改on-抽头函数的推荐方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-03 16:55:02

您应该使用事件侦听器,而不是on-*声明式事件映射。

代码语言:javascript
复制
this.addEventListener('tap', this.myFunction);
this.addEventListener('tap', this.newFunction);

基本上是一样的。但是,如果您需要(event, detail, sender)参数,则必须亲自传递它们。

API参考

票数 2
EN

Stack Overflow用户

发布于 2014-10-03 17:00:59

如果要使用声明性路由,仍然可以使用on-*处理程序和数据绑定来翻转处理程序:

代码语言:javascript
复制
<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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26182800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档