Ember.js将控制器/视图架构转换为组件

5

我在我的应用程序中有一个现有的DetailControllerDetailView,具有一些相当复杂的UI /数据操作逻辑(热键、复制粘贴、重复、自动完成等) - 视图将UI事件发送到控制器; 控制器处理逻辑。

我想把它转换成Ember组件。

  1. 这基本上意味着我将视图和控制器合并到DetailComponent中吗?这对我来说看起来很混乱和错误。
  2. 如果不是这样,如何在组件内部使用控制器和视图?也就是说,我仍然希望组件具有完全隔离和定义良好的公共接口,但在组件内部,我希望使用控制器和视图进行组织。是否可能?
  3. 是否可以在组件模板中使用{{render}}{{view}}{{partial}}
1个回答

3

这基本上意味着我将视图和控制器合并到DetailComponent中?这对我来说看起来很混乱,不正确。

是的,这就是它的意思。

在组件内部,我想使用控制器和视图进行组织。这可能吗?

因此,组件基本上取代了单个视图/控制器对。除此之外,组件只是Ember.View的扩展,可以像任何其他视图一样进行组织。

是否可以在组件模板中使用{{render}}, {{view}}, {{partial}} ?

是的,这些帮助程序都可以使用。


谢谢你的回答。你能指出任何关于组件替换视图/控制器对的资源/讨论吗?我很好奇这种设计背后的动机。 - Sherwin Yu
1
为了理解动机,我想最好的阅读材料是自定义元素规范,当然还有指南http://emberjs.com/guides/components - 除此之外,我只能说从你的问题中听起来一个大组件可能不是最好的解决方案。将组件视为创建自定义HTML标记的一种方式 - 如带有自动完成的日期选择器或搜索框 - 而不是组织应用程序代码的一种方式。 - Mike Grassotti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接