ember.js - 如何使用 Controller 和 View 组织 ember 应用程序

标签 ember.js

什么是 Controller 、 View 和其他 ember 结构的良好组合,以将具有以下线框图中基本功能的应用程序放在一起?

我不是在寻找详细的实现,而是在寻找如何构建 Ember 应用程序以及如何将 Controller 、 View 、模板等推理为构建块的灵感。

我的假设是此屏幕位于 ContactsRoute 下而ContactsControllerArrayController包含 Contact模型(选定状态只是 UI 而不是持久化)。

Simple contacts browser

最佳答案

一些想法,因为我有类似的运行:

我在这里看到两个布局列:

左栏 : 是一个带有关联 Controller 的 TreeNavView。
如果您输入 #/contacts(和 #/contacts/),则会选择它

右栏 : 带有关联 Controller 的 ContactsView。 View 很可能由较小的 View 原子(如输入控件等)组装而成。

关于 Controller 的特别说明:根据我的经验,您在 Ember 中或多或少被迫在 Controller 和 View 之间建立 1:1 的关系——因此共享 Controller 是一件坏事,很难管理。

应用程序 View 包含 HTML/CSS 布局,并且两列都有两个导出。

如何将相应的 View 渲染到 socket 中?
对于左列,我将直接从应用程序 View 模板“调用” View ,如下所示:

{{view App.TreeNav}}

我将通过相应的路由器映射填充“正确的 socket ”:
this.route('contacts', {path: '/contacts'});

和路线:
IB.ContactsRoute = Em.Route.extend({
    renderTemplate: function() {
          this._super();
          this.render('contacts', {into: 'application', outlet: 'secondCol'});
    }
});

关于ember.js - 如何使用 Controller 和 View 组织 ember 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15002936/

相关文章:

ember.js - 使用 baseUrl 会影响到我的 Assets 的路径

javascript - EmberJS - 复选框和在 Controller 中获取值

ember.js - <OUTDATED> 关于 Ember.js 指南中的 {{linkTo}}

ember.js - Ember 类型错误 : unsupported content on calling controller func

javascript - Ember 根据参数名称返回未定义的 url 参数

javascript - 如何获得一个仅包含持久化 Ember 数据记录的集合,不包括存在于客户端且未持久化的记录?

ember.js - 在 ember.js 中创建自定义未绑定(bind)助手

ember.js - 升级到 Ember 1.13.2 和 Ember Data 1.13.3 后出现 Ember JS 弃用错误

view - Ember 不更新模型更改的 View

javascript - {{link-to}} 助手问题传递的对象的渲染 View