当同一个模板的两个实例在应用程序的多个地方使用时,Ember的奇怪行为
Ember strange behavior when two instances of same template used in multiple places in application
请看一下这个JSBin1。我对index
模板中的render
使用相同的模板,并在ColorsRoute
的renderTemplate
函数中手动渲染。单击More Colors
链接不会呈现我在ColorsRoute
模型钩子中返回的颜色列表。现在,如果您将render 'colors-list model
更改为render colors-list2 model
,就像我在这里所做的那样,一切都像我期望的那样工作。两者之间的唯一区别是,在JSBin1中,我只使用colors-list
模板,但在第二个工作示例中,我有一个render
模板和一个相同的、不同命名的ColorsRoute
模板。
代码示例虽然在JSBin中微不足道,但却是我在一个更大的应用程序中所做的事情的精确提取。这个应用程序有一堆小部件,我用同一个templates
中的多个命名出口来表示它们。我手动渲染到这些出口,就像我在ColorsRoute
renderTemplate
钩子中的JSBin中所做的那样。我进行手动呈现,以便在发生某些事件时,在route
上定义actions
,这将允许我在对REST API进行ajax调用后动态替换outlet
的内容。
这种行为的解释是什么?
它与正在创建的控制器更相关,而不是模板。从技术上讲,这两者都不应该起作用,但似乎有一些路径如果你没有定义一个控制器,而且那个类型的控制器还没有被创建,创建它,并使用当前的控制器/模型作为支持它的模型。
当你使用渲染的时候,你应该提供一个控制器如果你希望它有那个控制器作为后台控制器。
renderTemplate: function(controller, model){
this.render();
this.render('color-list', {
outlet: "named",
into: 'colors',
controller: controller
});
}
http://emberjs.jsbin.com/cevagocekofu/3/edit 相关文章:
- 使用Ember-cli项目中的ES6库
- 如何使用ember.js在操作中传递当前上下文中目标旁边的信息
- 使用Ember的Web应用程序架构.动画逻辑应该放在哪里
- 如何使用Ember将动态分段的值输出到页面上
- Ember.js-如何使用Ember.Router实现所选项目
- 使用ember模式对话框的ember中的可路由模式
- 在高延迟网络下使用Ember数据时的奇怪行为
- 使用Ember CLI中模板内的ObjectController从模型中获取数据
- i18n转换无法使用ember-断言失败:缺少键的转换
- 使用Ember中的组件生命周期事件
- 如何使用RadioButtonList并使用Ember获取选定的值
- 使用Ember.js将新行动态插入到Table上下文中
- 如何使用Ember Ajax从Node JS Express传入数据
- jquery:使用ember的意外令牌C
- 第一个字符为空,在按键时使用 Ember 操作
- 使用 Ember.js 构建搜索框搜索
- 如何使用 Ember-CLI 在 ArrayController 中获取 Ember-Data 值
- 使用 Ember Data 检索 json 文件
- 使用 Ember-Model 创建新记录
- 未捕获的错误:断言失败:必须使用 Ember.set() 进行设置