Ember.js 为 {{render}} 助手设置模型数据

标签 ember.js architecture

我正在尝试构建一个将显示多个模型和聚合数据的 View 。

enter image description here

在阅读文档后, {{render}} helper 可能是构建这样的 View 的正确方法。为了正常设置模型,我只需设置一个路由,在其中传递所需的模型数据:

App.BuildingsRoute = Ember.Route.extend({
    model: function() {
         return this.store.find('buildings', '1');
    }
});

但是如果我通过 {{render}} 包含一个模板 helper ,路线没有被调用。我想知道如何为每个 {{render}} 传递不同的模型helper 相互独立形成,包括先过滤模型?

最佳答案

以下可能是相关的:

在您的 BuildingsRoute 中,您可以拥有所有必需的逻辑来返回所有相关模型,例如:

App.BuildingsRoute = Ember.Route.extend({
    model: function() {
         var self = this;
         return new Em.RSVP.Promise(function (resolve, reject) {
                new Em.RSVP.hash({
                    building: self.store.find('building', params.buildingId),
                    clients: self.store.find('client'),
                    products: self.store.find('product')
                }).then(function (results) {
                   resolve({
                       building: results.building,
                       prods: results.broducts,
                       clients: results.clients,
                       foo: "bar"                            
                   });
                });
          }
  });

promises有关如何构建和链接这些的更多信息。

然后在您的 View 中,您可以按如下方式访问这些模型:
{{render 'products' products}}

或者
{{#each product in products}}
   {{render 'product' product}}
{{/each}}

关于Ember.js 为 {{render}} 助手设置模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281385/

相关文章:

Python 简单 HTTP 服务器

javascript - Ember.js 模板不迭代 {{#each}}

PHP Setters/Getters 和构造函数

architecture - Web 应用程序中真正的客户端-服务器架构的陷阱?

templates - 如何为登录页面定义一个模板/ View /任何内容,但为其他页面定义默认模板/ View /任何内容

javascript - 从路由文件中设置模板文件中的变量

css - 可以让 css/bootstrap 系统地忽略脚本标签吗?

java - 使用 Scala 实现跨越一系列基于 Java 的服务的领域层

jakarta-ee - 带有 Play 框架的 Java EE 架构

java - 最佳仪表板架构