我沿着Ember 2.3的文檔,似乎無法找到任何非常基本的東西:如何訪問由主模板中的路由模型鉤子提供的值:application.hbs?如何訪問Ember應用程序模板中的路由數據?
路線/ client.js
// ...
export default Ember.Route.extend({
model() {
return {
navigation: [
{
title: "Projects",
link: "projects"
},
{
title: "My Specifications",
link: "specs"
}
]
}
}
});
模板/ application.hbs
<nav>
{{#each navigation as |navItem|}}
<li>{{#link-to navItem.link}} {{navItem.title}} {{/link-to}}</li>
{{/each}}
</nav>
{{outlet}}
因爲它是現在,導航對象是路由的模板訪問(client.hbs )而不是應用程序模板。
首先,您應該反對使用模板中的{{#each model.navigation ...}}對數據建模。其次,每條路線都與其模板相對應。在你的情況下,你需要應用程序路徑來顯示應用程序hbs中的模型數據。 –
這正是我不感興趣的@kristjan。我有一個(非常常見的)情況,我需要一個通常的路徑來提供要在父模板(application.hbs)內部訪問的數據。例如活動導航列表。 – Slavic
@Slavic每個具有自己的路線的模板是燼路。約定優於配置,但如果要在應用程序路徑中顯示導航模型,爲什麼不爲應用程序路徑返回多個模型? – Craicerjack