2013-02-22 49 views
2

我有完整的联系人编辑对话框。我现在想用最少的必要努力创建匹配的新联系人对话框。新的对话框与模型初始化相同。Ember.js:我如何重用其他路线的控制器/视图

我有以下新航线:

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

我怎么能告诉余烬,它应该使用ContactEditController和ContactEditView这条路?

+0

你想重用的控制器类或也完全相同的实例?我看到每种情况的可能解决方案。 – mavilein 2013-02-22 09:26:47

+0

我想重新使用控制器类.. – AyKarsi 2013-02-22 09:37:31

回答

3

如果你想重用这个类,为什么不尝试这样?

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

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

Ember现在基于它的命名模式找到类,一切都应该很好。但为什么你真的需要这个?你基本上用一个新名称镜像一个新路线中的路线的所有部分,但所有其他组件(控制器,视图)保持不变?

+0

所以你说的是,用假身份证过渡到ContactEdit路由会更好吗?例如contact.edit.0 – AyKarsi 2013-02-22 10:27:49

+0

哦,我只是注意到我没有想过你的用例。^^你想要支持创建新联系人和编辑由同一个控制器支持的联系人的用例。所以,我想这种方法很好。唯一的另一种方法是做一个组合的组件,在那里你可以编辑和创建。但是,通过提供一个url,我不会轻易跳入创建状态。 – mavilein 2013-02-22 11:23:28

+0

在这种情况下,您可能必须使用假身份证,如上所述。所以我的建议对于这个案例来说很好,因为它似乎是对你的问题的一种粗暴的评价。 – mavilein 2013-02-22 11:24:51

相关问题