【问题标题】:Is it possible to pass parameters to a dynamic template in Meteor?是否可以将参数传递给 Meteor 中的动态模板?
【发布时间】:2026-02-05 13:45:01
【问题描述】:

我已经看到关于在 Meteor 中使用动态选择模板的各种讨论(例如 hereherehere)。

但是如果我想给动态模板传入一个参数,那就是:

{{> UI.dynamic template=templateName data=dataObj param1=17}}

有没有办法做到这一点?本质上,我有三个模板,它们都采用相同的参数。我想创建一个通用模板,可以动态调用这三个模板之一,并传递参数。

感觉应该有办法用助手来做,但我不太明白。

-多夫

【问题讨论】:

  • 你不能在你的数据上下文中包含参数信息?
  • 当然……它不在原始上下文中,所以我想用助手来做,但由于某种原因无法弄清楚语法。在您的评论提示下,我又看了一眼,回想起来实际上很明显。会在这里发帖,以防其他人在同一问题上遇到作家抽筋。

标签: meteor


【解决方案1】:

感谢 David Weldon 的评论,我设法克服了作者的障碍。

这是其他设法访问此页面的人的答案。

HTML:

<head>   
    <title>dynamic test</title>
</head>

<body>
  {{> generic detailsTemplate="y"}}
</body>

<template name="generic">
    {{> Template.dynamic template=detailsTemplate data=updatedata}}
</template>

<template name="x">
    Here
    edit={{edit}}  - this shows nothing if the data context isn't modified
</template>

Javascript:

Template.generic.helpers({
  updatedata: function () {
    this.edit = true;
    return this;
  }
});

【讨论】:

  • 什么是 UI.dynamic 而不是 Template.dynamic
  • @Andy - 输入错误...上面已编辑问题。 UI.dynamic 是正确的语法
  • 我的意思是,我很困惑,我只在文档中看到了Template.dynamic。如果您手边有指向UI.dynamic 文档的链接,您介意分享吗?谢谢!
  • 有趣...见meteorpedia.com/read/New_Blaze_API 我想知道他们是否都做同样的事情?我在使用流星文档时遇到的一个问题是它经常更改,并且并不总是清楚哪个版本是最新的......由于当前版本的文档中使用了 template.dynamic,我假设可能是首选版本,虽然我可以确认 ui.dynamic 在 1.1.0.2 中仍然有效
最近更新 更多