javascript - Ember 使用 this.render 将数据传递到模板时出现问题

标签 javascript jquery ember.js

我想使用 render() 渲染模板并希望传递一些数据(模型)

如果我将参数作为模型传递,我会在模板中获取数据 模型: this.controllerFor(this.routeName).someModel

this.render('my-template', {
  into: 'application',
  outlet: 'myOutlet',
  model: this.controllerFor(this.routeName).someModel
}); 

但是下面的方法不起作用。传递的模型的命名是否有一些限制?

this.render('my-template', {
  into: 'application',
  outlet: 'flyout',
  myModel: this.controllerFor(this.routeName).someModel
}); 

最佳答案

您传递的属性不是您的模型的名称,而是您的模型

无论您作为 model 属性传递什么内容,都将被设置为相应 Controller 上的 model 属性。

ember所做的相关检查under the hood of render()如下:

if (options && options.model) {
  controller.set('model', options.model);
}

其中 options 是作为第二个参数传递给 render() 的内容。

值得注意的一件事是,这只是将 controller.model 设置为 controller.someModel,这是多余的,因为您已经可以访问此数据。

关于javascript - Ember 使用 this.render 将数据传递到模板时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39912852/

相关文章:

PHP/JavaScript : Remembering state of form/form fields with cookies

javascript - 在 jquery 中卡住表头

javascript - 在 jQuery BootGrid 中重新加载不起作用

javascript - 用户界面路由器 : default route based on user role

javascript - 选中单选按钮时 Rails 显示字段

javascript - 如何使用 .load() 从另一个域获取内容?

jquery - 自定义文件上传按钮

ember.js - 加载 fixture 时未捕获#<错误>

ember.js - emberjs new-router-V3/controller 无法使用 ember-data 创建或编辑记录

jquery - 从 DOM 中插入/删除 Ember View 时的平滑动画