当前位置: 首页 > 面试题库 >

EmberJS:如何在同一路线上加载多个模型?

茅星雨
2023-03-14
问题内容

虽然我对Web开发并不陌生,但对客户端MVC框架却不是很陌生。我做了一些研究,并决定尝试使用EmberJS。我浏览了TodoMVC指南,这对我来说很有意义。

我已经安装了一个非常基本的应用程序;索引路径,两个模型和一个模板。我正在运行服务器端的php脚本,该脚本返回一些数据库行。

让我感到困惑的一件事是如何在同一条路线上加载多个模型。我已经阅读了一些有关使用setupController的信息,但仍不清楚。在我的模板中,我有两个要与不相关的数据库行一起加载的表。在一个更传统的Web应用程序中,我将刚刚发布到sql语句并循环遍历它们以填充行。我很难将此概念转换为EmberJS。

如何在同一路径上加载不相关数据的多个模型?

我正在使用最新的Ember和Ember Data库。

更新资料

尽管第一个答案提供了一种处理它的方法,但是第二个答案说明了什么时候合适以及什么时候不合适的不同方法。


问题答案:

您可以使用加载多个模型:

app/routes/index.js

import Ember from 'ember';

export default Ember.Route.extend({
  model() {
    return Ember.RSVP.hash({
      people: this.store.findAll('person'),
      companies: this.store.findAll('company')
    });
  },

  setupController(controller, model) {
    this._super(...arguments);
    Ember.set(controller, 'people', model.people);
    Ember.set(controller, 'companies', model.companies);
  }
});

在您的模板中,您可以引用peoplecompanies获取加载的数据:

app/templates/index.js

<h2>People:</h2>
<ul>
  {{#each people as |person|}}
    <li>{{person.name}}</li>
  {{/each}}
</ul>
<h2>Companies:</h2>
<ul>
  {{#each companies as |company|}}
    <li>{{company.name}}</li>
  {{/each}}
</ul>


 类似资料:
  • 我有应用程序,用户可以登录在不同的角色,例如。对于每个用户,我想在相同的路径上显示仪表板页面,例如。然而,每个用户将在不同的vue组件中定义不同的仪表板,例如。,和. 所以基本上,当用户打开vue应用程序应根据用户角色(我存储在vuex中)加载不同的组件。类似地,我希望其他路线也有这个。例如,当用户转到配置文件页面根据登录用户的不同,应用程序应显示不同的配置文件组件。 因此,我希望所有用户角色都有

  • 我可以毫无问题地实现模态抽屉。但是我想在同一个屏幕上添加两个模态抽屉,一个从左边,一个从右边。在xml中很容易做到,但是我不知道如何在Jetpack中做到这一点。

  • 问题内容: 我正在尝试在Mock上使用Mockito来执行此操作: 当使用parameter1 调用Mock.someMethod(..)->返回result1 当使用parameter2调用Mock.someMethod(..)时-> return result2 当Mock.someMethod (..)用参数3调用->返回result3 但是Mockito正确地对第一个进行了存根,但是在第二

  • 问题内容: 有没有办法在同一个python会话中两次加载一个模块? 用一个例子填补这个问题:这是一个模块: 模版 现在,我想两次导入该模块,例如创建一个类的两个实例以实际具有的两个副本。 要已经回答评论中的问题,“如果有人只要创建一个带有变量的类,为什么有人会想这样做”: 您是正确的,但是存在大量的源,必须重写,并且两次加载一个模块将是一个快速修复^^。 问题答案: 是的,您可以两次加载一个模块:

  • 我有一个spring-mvc项目,配置为从WEB-INF/jsp加载模板,我使用Servlet 3.0属性从WEB-INF/lib/someplugins.jar加载一些mvc模板! /META-INF/resources/WEB-INF/jsp/a.jsp,我如何做到这一点? 我拥有的视图解析器的spring配置是

  • 我想通过传递一个网址来加载多个图像。与本教程不同http://www.learn2crack.com/2014/06/android-load-image-from-internet.html其中只有一个图像被下载并使用img.setImageBitmap(图像)查看;我的问题是如何将url发送到一个方法以加载该url的图像,该方法返回一个图像,然后我在图像视图中显示它。