中,我应该能够看到输出
我如何触发HTML字符串中存在的'tap'事件,该事件插入到类似的聚合物组件中。
<dom-module id="test-comp">
<template>
Please <span inner-h-t-m-l="[[htmlString]]"></span> here for an alert!
</template>
<script>
Polymer({
is: 'test-comp',
properties: {
htmlString: {
type: String,
value: '<a on-tap="doSomething">click</a>'
}
},
doSomething: function () {
console.log('tap event has happened!');
}
});
</script>
</dom-module>
实际结果:无法看到发生任何点击/点击事件发生,我想插入HTMLSTRING中的TAP事件不会被插入聚合物事件。
预期输出:当单击HTML渲染句子
'tap event has happened!'
对我来说并不清楚您想在这里实现什么。
但是,我不认为您所显示的方法在干净或推荐的方式上都是。
如果要根据某些状态添加和删除功能,则可以毫不含糊地添加和删除侦听器
this.listen(this.$.myButton, 'tap', 'onTap');
this.unlisten(this.$.myButton, 'tap', 'onTap');
如果您希望根据状态切换功能,我将在决策功能中执行此操作:
<dom-module id="test-comp">
<template>
<span on-tap="alertSwitch"></span>
</template>
<script>
Polymer({
is: 'test-comp',
alertSwitch: function() {
if(a){
this.alertOne();
} else {
this.alertTwo();
}
},
alertOne: function () {
console.log('first tap event has happened!');
},
alertTwo: function () {
console.log('second tap event has happened!');
}
});
</script>
</dom-module>
尚不清楚您的目标是什么。