gpt4 book ai didi

ember.js - 如何使用命名 socket 构建多记录 Ember 应用程序?

转载 作者:行者123 更新时间:2023-12-02 05:15:13 27 4
gpt4 key购买 nike

我正在尝试构建一个类似 Tweetdeck 的 UI,以将中央库中的项目按类别排列。我真的需要帮助来了解使用 Ember 路由器的规范方式。

本质上,我有一个搜索 UI,它允许用户同时打开零个或多个类别。类别显示项目列表,用户可以从右侧的中央库添加项目列表。通过完全忽略路由器和 URL,我设法将一个半工作的概念证明组合在一起。现在我想回去尝试用 Ember 的方式来做。以下是我要完成的工作的高级草图:

enter image description here

如果我理解正确,所需的 URL 方案将是当前打开的模型 ID 的逗号分隔列表。我从另一个问题How to design a router so URLs can load multiple models? 中很好地了解了如何解决这个问题。 .

不幸的是,有几个概念我不明白:

  • 如何构建我的模板和路由器,以便库与其自己的模型和 Controller 一起显示? 我假设一个名为 {{outlet}}是要走的路,但我完全迷失在renderTemplate配置。或者我应该使用 {{render}}反而?无论哪种情况,我都不了解路由器在这种情况下的作用。

  • 编辑 1/28 :我添加了一个 updated fiddle 包括一个独立的 library路线/模板并记录我尝试将其渲染到 categories模板。当我尝试将其嵌入到另一条 route 时,Ember 如何期望我为库模板提供其模型?我都试过了 {{outlet}}renderTemplate{{render}} ,但在这两种情况下,我在指定模型时都被卡住了。

    使用 renderTemplate :
    App.CategoriesRoute = Ember.Route.extend({
    renderTemplate: function() {
    this.render('categories');
    this.render("library", {
    into: "categories",
    outlet: "library",
    controller: "library",
    });
    },
    });
  • 当我的 Controller 收到打开类别的请求时,我如何将其传达给路由器? 哈希路径如何更新?谁负责加载适当的模型?我想我应该从 transitionTo 开始或 transitionToRoute ,但我也不明白路由器在这里的作用。具体问题:
  • 如何从 URL 反序列化多个以逗号分隔的模型?我只是在逗号上分开还是有更好的方法?
  • 从 URL 获取 ID 后,如何让我的模型 Hook 返回多条记录?我是否只是将它们全部插入 Ember 阵列?
  • 当 Controller 获取要打开的新记录的 ID 时,我如何将其传达给路由器?

  • 我试图自己解决这个问题,并多次阅读 Ember 文档,但恐怕这只是我的头脑。我整理了一个 minimal (currently non-functional) fiddle 概述我的想法并指出我卡在哪里。我将不胜感激任何人可以提供的任何帮助。

    最佳答案

    this.render 不接受模型参数,但您可以通过 Controller 属性传递模型,这是有意义的,因为无论如何 Controller 实际上是模型的代理

    App.IndexRoute = Ember.Route.extend({
    var self = this,
    notesController = self.controllerFor('notes').set('content', self.store.find('notes'));

    renderTemplate: function() {
    this.render('notes', {
    controller: notesController,
    into: 'index',
    outlet: 'notes'
    });
    }
    });

    关于ember.js - 如何使用命名 socket 构建多记录 Ember 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21398488/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com