Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬嵌套视图_Ember.js - Fatal编程技术网

Ember.js 余烬嵌套视图

Ember.js 余烬嵌套视图,ember.js,Ember.js,关于此案例中处理嵌套视图的“余烬方式”的问题。使用ember cli--我有一个名为“customers”的资源。视图层次结构是: customers +- customers.index +- customers.show 我想在客户级别放置一个横幅,但在.index或.show级别指定其部分内容 因此,我向customers控制器添加了一个属性,并在customers模板中显示该属性 import Ember from 'ember'; export default Ember.Cont

关于此案例中处理嵌套视图的“余烬方式”的问题。使用ember cli--我有一个名为“customers”的资源。视图层次结构是:

customers
+- customers.index
+- customers.show
我想在客户级别放置一个横幅,但在.index或.show级别指定其部分内容

因此,我向customers控制器添加了一个属性,并在customers模板中显示该属性

import Ember from 'ember';

export default Ember.Controller.extend({
  headingText: 'initial'
}
模板

<h3>{{ headingText }}</h3>
{{ outlet }}
这是“余烬之路”吗?似乎应该有一种更简单的方法来冒泡信息,而不必使用样板文件(customers controller上的方法或其他东西)

假设标题文本将包含解析模型中的信息,那么设置它的最佳位置是哪里?在路上?后置模型


谢谢

在子路由中,您可以考虑使用<代码> StutuPuthor < /Cord>钩子来修改父路由的属性。

setupController
中,您可以使用以下语法获取和设置与当前路由直接关联的路由以外的路由的属性:

在子路径中:

setupController(controller, model) {
    this.controllerFor('customers').set('headingText', 'My awesome new header for the child route.');
}
控制器是单例的,并且保持其状态,因此您可能需要在每个相关路由文件中将
headingText
属性显式设置为正确的值


您可以考虑将<代码>标题文本< /代码>命名为“出口”。然后,在子路由的
renderTemplate
方法中,添加对
this.render
的调用,以将相关标头呈现到指定的出口中。当然,另一种方法是在每个子路由模板中复制
h3
。)命名插座是一种选择,但在这里感觉就像在大头钉上使用锤子。这本来应该是一个快速的问题,我继续打字。有没有一种快速的方法来单一文件化一个ember cli平台化的迷你应用程序?
setupController(controller, model) {
    this.controllerFor('customers').set('headingText', 'My awesome new header for the child route.');
}