我正在创建一个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'> </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
,那么将该数据传递到应用程序模板的最佳方法是什么?
答案 0 :(得分:0)
您可以在应用程序控制器中使用Ember.computed.readOnly属性。
App.ApplicationController = Ember.Controller.extend({
needs: ['project'],
activeProject: Ember.computed.readOnly('controllers.project.model')
...
});
但也许这不是最好的解决方案。据我了解,项目路径/模板总是使用?那么为什么不把所有东西都移到那个模板上呢。