【问题标题】:Display dynamic content in Ember application template在 Ember 应用程序模板中显示动态内容
【发布时间】:2014-11-15 22:14:07
【问题描述】:

我正在创建一个 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,那么将该数据传递到应用程序模板的最佳方式是什么?

【问题讨论】:

    标签: ember.js ember-cli


    【解决方案1】:

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

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

    但这也许不是最好的解决方案。据我了解,总是使用项目路线/模板?那么为什么不将所有内容都移至该模板。

    【讨论】:

    • 像这样把它放在 ApplicationController 上是缺失的部分。谢谢。
    猜你喜欢
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 2017-12-27
    • 1970-01-01
    • 2017-11-29
    • 2013-06-30
    • 1970-01-01
    相关资源
    最近更新 更多