相关疑难解决方法(0)

访问Meteor模板和模板助手中的父上下文

我遇到了模板上下文的情况,我很难找到解决方法.


这是有问题的模板:

{{#each votes}}
    <h3>{{question}}</h3>

    <ul>
        {{#each participants}}
            <li>
                <p>{{email}}</p>
                <select name="option-select">
                    {{#each ../options}}
                    <option value="{{option}}" class="{{is_selected_option}}">{{option}}</option>
                    {{/each}}
                </select>
            </li>
        {{/each}}
    </ul>
</div>
{{/each}}
Run Code Online (Sandbox Code Playgroud)


这是一个投票文件的例子:

{
    _id: '32093ufsdj90j234',
    question: 'What is the best food of all time?'
    options: [
        'Pizza',
        'Tacos',
        'Salad',
        'Thai'
    ],
    participants: [
        {
            id: '2f537a74-3ce0-47b3-80fc-97a4189b2c15'
            vote: 0
        },
        {
            id: '8bffafa7-8736-4c4b-968e-82900b82c266'
            vote: 1
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)


这就是问题......

当模板进入#eachfor参与者时,它不再具有对vote上下文的访问权限,因此无法访问每个投票的可用选项.

我可以稍微解决这个问题,通过使用../options车把路径跳回到父上下文,但这并不影响模板辅助的情况下,所以thisTemplate.vote.is_selected_option指当前participant,而不是当前的voteoption …

meteor

44
推荐指数
2
解决办法
2万
查看次数

Meteor:如何在嵌套模板中访问父属性?

我开始使用Meteor,并调整todo示例以包含嵌套标记组.我有以下HTML,它输出每个标签组的每个名称,以及每个组中的标签列表:

  <template name="tag_filter">
    {{#each tag_types }}
      {{ tag_name }}
      {{#each values }}
        <div data-taggroup="{{ ../tag_name }}">
        {{ name }} ({{ count }})
        </div>
      {{/each}} 
    {{/each}}
</template>
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何调整事件处理程序以获取标签上的点击以访问父组的值tag_name?(即每个循环外部的数据).

目前我有下面的代码,但this对象只允许我访问namecount.

Template.tag_filter.events({
  'mousedown .tag': function () {
    console.log('tag mousedown', this);
    // How do I get the value of tag_name?
  }
});
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用了Handlebars父路径来添加data-taggroup包含该名称的属性,但我不确定如何从事件处理程序中访问它.

我认为这个问题是相关的,但我不理解OP的解决方案(部分原因是因为我没有使用Coffeescript).还有一个关闭的流星问题是相关的.

meteor

12
推荐指数
2
解决办法
4874
查看次数

标签 统计

meteor ×2