在另一个模板中,我在循环中使用'articleSingle'模板。
{{#each articles}}
{{> articleSingle}}
{{/each}}
articleSingle模板有这个:
let publishTitleNonReactive;
Template.articleSingle.onCreated(function() {
this.autorun(function() {
if (Template.currentData() && !publishTitleNonReactive) {
publishTitleNonReactive = Template.currentData().publishTitle;
}
});
});
我希望这个publishTitleNonReactive
var是唯一的,或者至少在本地范围内,这样每次使用此模板时我都可以拥有不同的值。
我知道怎样才能到达那里?
我正在尝试在助手中使用该变量,该助手现在是被动的。因此,每当模板数据更新时,它都会变得不确定。
我在'articleSingle'模板中使用的助手:
titleHybrid: function(){
return this.publishTitle;
}
答案 0 :(得分:1)
您可以使用this
中的onCreated
Template.articleSingle.onCreated(function () {
this.publishTitleNonReactive = …
…
});
答案 1 :(得分:0)
我想我明白你在问什么;你不能在每次迭代中推下文章数据吗?
{{#each article in articles}}
{{> articleSingle article=article}}
{{/each}}
Template.articleSingle.onCreated(function() {
let publishTitle = Template.currentData().article.publishTitle;
this.publishTitle = new ReactiveVar(publishTitle);
});
或:
{{#each article in articles}}
{{> articleSingle publishTitle=article.publishTitle}}
{{/each}}
Template.articleSingle.onCreated(function() {
let publishTitle = Template.currentData().publishTitle;
this.publishTitle = new ReactiveVar(publishTitle);
});
从那里你可以将标题存储在一个被动变量中以便在帮助器中使用它。你以这样一种方式保持它,即模板的所有实例都在共享它。