假设我有一个名为message的Meteor模板,客户端可以在其中发布消息。帖子被包装在一个div中,它的id等于Mongo集合中的唯一id。
<template name="message">
<div class="msg comment" id="{{this._id}}">{{msg}}</div>
</template>
无论如何都要引用Meteor.message.rendered
中的具体ID?现在我正在使用this._id
并且它无效。这是我的功能
Template.message.rendered = function() {
texts = $('this._id').html();
texts = texts.replace(/#(\w+)/g,
"<a href='https://www.google.com/?q=$1'target='_blank'>$&</a>");
$("this._id").html(texts);
}
答案 0 :(得分:1)
四件事:
$('this._id')
- &gt; $(this._id)
this
)是模板助手,而不是数据本身(模板的上下文),因此将this._id
替换为this.data._id
匹配{{ this._id }}
$(this.data._id)
- &gt; $('#' + this.data._id)
最终代码:
Template.message.rendered = function() {
if(!this.rendered) {
this.rendered = true;
texts = $('#' + this.data._id).html();
texts = texts.replace(/#(\w+)/g,"<a href='https://www.google.com/?q=$1'target='_blank'>$&</a>");
$('#' + this.data._id).html(texts);
}
}