在Ember应用程序模板中显示动态内容

时间:2014-11-15 22:14:07

标签: ember.js ember-cli

我正在创建一个Ember应用程序,用于管理每个项目的列表项目和任务。在应用程序的导航中,我想显示所选项目的名称。如果有人导航到/ projects / 1 / tasks,我希望页面显示项目1的标题,以及指向该项目特定页面的链接。以下是我为application.hbs文件开始的关于我期望它如何工作的内容,但项目标题为空白且链接不起作用:

<nav id="nav-menu">
  <ul>
    <li class='menu-project-title'>
      {{#link-to 'projects'}}{{project.title}}{{/link-to}}
    </li>

    <li class='menu-separator'>&nbsp;</li>

    <li>{{#link-to 'projects.tasks' project}}Tasks{{/link-to}}</li>
    <li>{{#link-to 'projects.people' project}}People{{/link-to}}</li>
  </ul>
</nav>

<div class="container" id='main-outlet'>

  {{outlet}}

</div>

如果我知道每个路由都会返回project,那么将该数据传递到应用程序模板的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以在应用程序控制器中使用Ember.computed.readOnly属性。

App.ApplicationController = Ember.Controller.extend({
  needs: ['project'],
  activeProject: Ember.computed.readOnly('controllers.project.model')  
  ...
});

但也许这不是最好的解决方案。据我了解,项目路径/模板总是使用?那么为什么不把所有东西都移到那个模板上呢。