如何从Ember应用程序模板中的路径访问数据?

Sla*_*vic 8 javascript ember.js ember.js-2

我正在按照Ember 2.3的文档进行操作,似乎找不到任何基本的东西:如何访问主模板中路由模型钩子提供的值:application.hbs

路线/ client.js

// ...
export default Ember.Route.extend({
    model() {
        return {
            navigation: [
                {
                    title: "Projects",
                    link: "projects"
                },
                {
                    title: "My Specifications",
                    link: "specs"
                }
            ]
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

模板/ application.hbs

<nav>
   {{#each navigation as |navItem|}}
      <li>{{#link-to navItem.link}} {{navItem.title}} {{/link-to}}</li>
   {{/each}}
</nav>
{{outlet}}
Run Code Online (Sandbox Code Playgroud)

就像现在一样,导航对象可以被路径的模板(client.hbs)访问,但不能访问应用程序模板.

Sla*_*vic 4

这是它的完成方式(除非 ember 在未来的版本中提出更好的方法):

路线/client.js

// ...
export default Ember.Route.extend({
    setupController() {
        this.controllerFor('application').set('navigation', ["nav1", "nav2"]);
    }
});
Run Code Online (Sandbox Code Playgroud)

谢谢伊万的回答!