Ember.js:我如何重用另一条路线的控制器/视图

时间:2013-02-22 08:24:13

标签: ember.js

我有完整的联系人编辑对话框。我现在想用最少的努力创建匹配的新联系人对话框。新的对话框是相同的,从模型初始化开始。

我有以下新路线:

App.ContactNewRoute = App.BaseEntityRoute.extend({
        init: function () {
            this._super();
            this.keyName = "contact_id";
            this.controllerRoute = "contact.new";
            this.datasource = App.contactDataSource.getNewContact;
        }
});

如何告诉ember它应该使用ContactEditController和ContactEditView作为此路由?

2 个答案:

答案 0 :(得分:3)

如果你想重复使用这个类,为什么不尝试这样的东西?

App.ContactNewController = App.ContactEditController.extend();

App.ContactNewView = App.ContactEditView.extend();

Ember现在根据命名模式找到类,一切都应该没问题。但为什么你真的需要呢?您基本上使用新名称在新路由中镜像路由的所有部分,但所有其他组件(控制器,视图)保持不变?

答案 1 :(得分:1)

Ember mixin也可用于此: http://emberjs.com/api/classes/Ember.Mixin.html