我将 Meteor 0.8 与 Blaze 一起使用,我想将事件动态附加到使用UI.toHTML
模板生成的 HTML 内容中。我正在寻找的功能是Spark.attachEvents
Blaze 的替代品。
到目前为止,我所做的是我创建了以下模板,以便像小部件/组件一样使用。
<template name="postLinks">
<div id="link-popover-wrapper" >
<ul class="link-popover">
{{#each linkOptions}}
<li><a tabindex="-1" class="link-action" id="link-{{value}}" href="#">{{label}}</a>
</li>
{{/each}}
</ul>
</div>
</template>
该模板用于 myPostItem 模板的 Helper。
Template.myPostItem.events({
'click .post-item-link-picker': function (evt, tmpl) {
var tempData = {linkOptions:[{label:'Favorite', value : 'favorite'}, ...]};
// Get the HTML content of the template passing data
var linkContent = UI.toHTML(Template['postLinks'].extend({data: function () { return tempData; }}));
// Attach events to the linkContent like in Spark
/*Spark.attachEvents({
'click link-action': function (e, tmpl) {
alert("Component item click");
}
}, linkContent);*/
// Popover the content using Bootstrap popover function
}
});
所以我的要求是将事件附加到动态生成的 HTML 内容linkContent
中Spark.attachEvents
。在上面代码中提到的以下行之后。
var linkContent = UI.toHTML(Template['postLinks'].extend({data: function () { return tempData; }}));
希望有人可以帮助找到在 Meteor 0.8 中使用 Blaze 执行此操作的方法。