2014-05-02 121 views
0

我使用的是铁的路线和我的路由器,我有以下呈现特定模板流星:渲染参数

var Home = RouteController.extend({ 
    .... 
    action: function() { 
     if (this.ready()) { 
      this.render('main', {state: 'normal'}); 
     } 
     else { 
      ;//this.render('loading'); 
     } 
    } 
}); 

正如你可以看到我想要一个state变量传递给模板,模板,在类属性的使用方法如下

<template name="main"> 
    <section class="{{state}}"> 
     .... 
    </section> 
</template> 

然而,这种状态变量是undefined,这意味着什么,我想在这里是行不通的。任何建议如何将数据传递给模板?

回答

1

我认为使用数据选项将是您最好的选择。

var Home = RouteController.extend({ 
    data:{state:'normal'}, 
    action: function() { 
     if (this.ready()) { 
      this.render('main'); 
     } 
     else { 
      ;//this.render('loading'); 
     } 
    } 
}); 

数据也可以是,如果它含有反应性数据源将每一次重新运行数据变化的函数。

虽然有一些笔记。如果您为路由定义了loadingTemplate,并且正在等待返回您的订阅,则铁路由器会处理为您呈现加载模板。

此外,数据选项旨在返回单个文件,当不存在时,铁路路由器将呈现该路线的notFound模板。模板状态应该由模板助手真正处理。