Javascript Meteor从Blaze模板组件获取ObjectId到.js
我创建了一个动态表,每个会话的行值可能会发生变化。 在最后一列中,我给出了一个五星评级量表,以便用户对显示的每一行进行评级,我正确地获得了值,此外,我需要知道用户对哪个Id/行进行了评级,因为这些Id/行会动态变化。html如下所示,其中product=this表示在starsRating组件中传递了已评级的行:Javascript Meteor从Blaze模板组件获取ObjectId到.js,javascript,meteor,meteor-blaze,Javascript,Meteor,Meteor Blaze,我创建了一个动态表,每个会话的行值可能会发生变化。 在最后一列中,我给出了一个五星评级量表,以便用户对显示的每一行进行评级,我正确地获得了值,此外,我需要知道用户对哪个Id/行进行了评级,因为这些Id/行会动态变化。html如下所示,其中product=this表示在starsRating组件中传递了已评级的行: <td class="featuretablerow"> <p>{{> starsRating mutable=true size='md' cla
<td class="featuretablerow">
<p>{{> starsRating mutable=true size='md' class='js-rate-image'
id='js-rate-image' product=this }}</p>
</td>
但是在运行它时,我没有定义,如何才能正确地获取它?如果我理解正确,那么您的意图是在评级时使用jQuery代码。如果是这样的话,那么我认为你走错了方向。Blaze为您提供了适当的支持 像这样的方法应该会奏效: Template.starsRating.events{ “单击”:函数{ console.log“额定产品为”,该产品; } };
在这些事件处理程序中,这是模板的当前数据上下文。您无需传递任何内容即可在js文件中的事件中获取数据。 HTML文件
{{#with product}}
<td class="featuretablerow">
<p>{{> starsRating mutable=true size='md' class='js-rate-image'
id='js-rate-image'}}</p>
</td>
{{/with}}
你可以直接得到财产
{{#with product}}
<td class="featuretablerow">
<p>{{> starsRating mutable=true size='md' class='js-rate-image'
id='js-rate-image'}}</p>
</td>
{{/with}}
Template.starsRating.events({
'click': function() {
console.log('rated product is', this.name);
}
});