【发布时间】:2014-03-02 00:58:54
【问题描述】:
我是 Meteor 的新手,我正在尝试在显示一个段落的页面中设置数据上下文。我需要访问passage_item.js Template.passageItem.rendered 中的数据,但此时没有设置上下文。我想我需要类似 {{#withpassage}} 的东西,但 one_passage.html 中不存在“passage”。
这里有一些代码 sn-ps。谢谢。
路由器.js
Router.map(function() {
this.route('passagesList', {path: '/'});
this.route('onePassage', {
path: '/passages/:_id',
data: function() { return Passages.findOne(this.params._id); }
});
});
one_passage.html
<template name="onePassage">
{{> passageItem}}
</template>
passage-item.html
<template name="passageItem">
<div class="passage">
<div class="one-passage">
<h4><a href= "{{pathFor 'onePassage'}}">{{title}}</a></h4>
<div class="passage-content">
{{content}}
</div>
</div>
</div>
passage_item.js
Template.passageItem.helpers({
});
Template.passageItem.rendered = function() {
Meteor.defer(function() {
$('.passage-content').lettering('words');
//I want to be able to access the data object here. I have a list of words that are highlighted
});
};
【问题讨论】:
-
我最终做的是将 PassageId 添加到 html 中。然后在 javascript 中再次将其取出并使用它来获取数据。 var passId = $('.one-passage').attr('id');数据 = Passages.findOne(passageId);
标签: meteor iron-router