2014-05-02 162 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模板。模板狀態應該由模板助手真正處理。