【发布时间】:2015-03-23 16:59:44
【问题描述】:
关于在这种情况下处理嵌套视图的“余烬方式”的问题。使用 ember-cli - 我有一个名为“客户”的资源。视图层次结构是:
customers
+- customers.index
+- customers.show
我想在客户级别放置横幅,但在 .index 或 .show 级别指定了部分内容。
所以我向客户控制器添加一个属性并在客户模板中显示它。
import Ember from 'ember';
export default Ember.Controller.extend({
headingText: 'initial'
}
模板
<h3>{{ headingText }}</h3>
{{ outlet }}
子控制器可以看到该值,但是在更改它时——视图不会改变(原型-vs-继承?)
为了从子控制器更改标题文本,我需要在每个子控制器中执行此操作:
needs: "customers",
headingText: Ember.computed.alias("controllers.customers.headingText")
这是“余烬之路”吗?似乎应该有一种更简单的方法可以在没有样板的情况下冒泡信息(客户控制器上的方法或其他东西)。
假设标题文本将包含来自已解析模型的信息,那么在哪里设置它的最佳位置?在路线?后模?
谢谢
【问题讨论】:
-
您可以考虑将
headingText设为命名插座。然后,在子路由的renderTemplate方法中,添加对this.render的调用,以将相关标头呈现到指定的出口中。当然,另一种方法是在每个子路由模板中复制h3。 -
命名网点是一种选择,但在这里感觉就像是用锤子敲钉子。这本来应该是一个快速的问题,我继续打字。有没有一种快速的方法来单个文件化一个 ember-cli podified 迷你应用程序?
标签: ember.js