我有一些模板对应不同的地方。我正在使用导航栏,其中包含指向不同地方的链接(Manali)。我希望在单击特定链接时显示相应的模板。我尝试为每个锚链接分配id,并在主文件的#if循环中使用它。如下所示。
{{#if equals id 'badrinath'}}
{{> Manali}}
{{/if}
我也为比较目的创建了一个辅助函数。
UI.registerHelper('equals', function(a, b) {
return a == b;
});
但它不起作用。有谁能提出解决方案。我可以捕获链接的哪些属性并使用它来相应地显示模板。
答案 0 :(得分:1)
你听起来正在寻找"路由"功能。
您可能对Iron Router或Flow Router感兴趣。
您仍然可以在没有路由器的情况下实现您的功能,因为它听起来仍然是如上所述的简单情况。您可能只是缺少一些事件监听器来将id
变量设置为正确的值。
可能类似于:
<a data-role="changetemplate" href="targetTemplate">To Target Template</a>
var id = new ReactiveVar(); // add the reactive-var package
Template.myTemplate.helpers({
id: function () {
return id.get();
}
});
Template.myTemplate.events({
"click a[data-role='changetemplate']": function (event) {
event.preventDefault();
id.set(event.currentTarget.href);
}
});