【问题标题】:EmberJS - Printing model properties when multiple models on a routeEmberJS - 当路线上有多个模型时打印模型属性
【发布时间】:2017-12-12 13:36:27
【问题描述】:

我目前使用以下代码从同一路线加载两个模型:

    model(params) {
    return Ember.RSVP.hash({
      sginp: this.get('store').query('sginp', params),
      weekdayplan: this.get('store').query('weekdayplan', params),
        });
  },

  setupController(controller, models) {
    controller.set('sginp', models.sginp);
    controller.set('weekdayplan', models.weekdayplan);

  }

两个模型都在 Ember Data 中正确加载。

我希望能够在页面的不同部分显示不同模型属性的值。

根据previous question,当我有一个模型并且工作正常时,我一直在使用 {{model.firstObject.property}} 进行此操作。

我以为我可以做类似的事情:

{{model.sginp.name}} {{model.weekdayplan.day}}
{{models.sginp.name}} {{models.weekdayplan.day}}

但是这些(以及许多排列)在使用时不会显示任何内容,并且不会在控制台中生成错误。

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    1.,不要忘记在setupController(controller, models)的第一行拨打this._super(controller, models);

    2.,在您的模板中使用其中一些{{model.sginp.firstObject.name}} {{sginp.firstObject.name}} {{model.weekdayplan.firstObject.day}} {{weekdayplan.firstObject.day}}

    【讨论】:

    • 感谢您的快速回复。 {{modelname.firstObject.property}} 是票。如果我可能会问,this._super(controller, model)' 是做什么的?当我将它添加到我的 setupController 时,它实际上扼杀了我在这条路线上呈现页面的能力。我已经将它添加到我的第一个 controller.set 行上方----没关系,我是一个 bufoon 并且有一个语法错误。谢谢你的回答!
    • 它在控制器上设置模型属性如下:/** @method setupController @param {Controller} controller instance @param {Object} model @since 1.0.0 @public */ setupController(controller, context, transition) { if (controller && (context !== undefined)) { set(controller, 'model', context); } },source
    猜你喜欢
    • 2023-03-30
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多