[英]meteor: render template with arguments
我正在使用铁路线,并且在路由器中有以下内容可以渲染特定模板
var Home = RouteController.extend({
....
action: function () {
if (this.ready()) {
this.render('main', {state: 'normal'});
}
else {
;//this.render('loading');
}
}
});
如您所见,我想将state
变量传递给在class属性中使用的模板,如下所示
<template name="main">
<section class="{{state}}">
....
</section>
</template>
但是,这个状态变量是undefined
,这意味着我在这里尝试的不起作用。 有什么建议可以将数据传递到模板吗?
我认为使用数据选项将是您最好的选择。
var Home = RouteController.extend({
data:{state:'normal'},
action: function () {
if (this.ready()) {
this.render('main');
}
else {
;//this.render('loading');
}
}
});
数据还可以是一个功能,如果它包含反应性数据源,则每次数据更改时都会重新运行。
不过有几个注意事项。 如果您为该路由定义了loadingTemplate
,并且正在从等待中返回您的订阅,则iron-router会为您处理渲染加载模板。
同样,data选项还设计为返回单个文档,该文档在不存在时Iron-Router将呈现该路由的notFound
模板。 模板状态应真正由模板助手处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.