我的问题是:有人能指导我从基于控制器的应用程序转向组件基应用程序吗?
我正在为我的狗训练俱乐部建立一个地图应用程序。我们专门帮助寻找失踪人员。为了组织我们的培训,我们需要一个应用程序来画出线索,并在上面添加项目等等。
我已经使用Ember和OpenLayers-3启动了一个应用程序。应用程序运行良好,但我想将代码从基于控制器的方法转移到组件基方法。
我也想使用更多的路由,因为目前,我只有一个路由,所有的用户交互都是通过操作处理的。
我在github上为那些愿意帮助我的人建立了一个存储库:
https://github.com/mylen/mantrailling
如果要签出代码并在本地测试应用程序,则需要使用导航器中的头模式修改引用程序以使用http://demo.melard.fr
您可以在该网页上看到该网站的测试版:
http://recherche.utilitaire.melard.fr/beta/map
提前谢谢你,
发布于 2015-04-26 12:51:59
首先,我们应该澄清ember.js中组件、控制器和路由的预期用途。
组件类似于视图,但它们是孤立的,因此用于创建可重用的代码片段,以处理模型的可视化表示。
控制器主要用于装饰您的模型,但也用于保存应用程序状态。
路由表示当前应用程序状态。它们负责加载模型和初始化控制器。
要解决您的第一个问题(控制器->组件),您只需要将所有与视图相关的内容移到组件中即可。您的代码装饰您的模型,例如,一个方法点的活动标志,仍然在控制器中。您只需要通过embers数据绑定将模型/控制器的数据绑定到组件。(http://guides.emberjs.com/v1.11.0/components/passing-properties-to-a-component)
我认为,你的第二个问题(使用路线)更难解决。首先,你需要找到你的应用程序目前拥有的所有州。在此之后,您应该将您的模型加载和保存到这条路径中。
编辑描述了这个问题的一些参考文献。
https://github.com/ef4/rfcs/blob/routeable-components/active/0000-routeable-components.md
https://www.youtube.com/watch?v=QgycDZjOnIg
编辑2您的问题与How to move ember from 1.x to 2.0高度相关,因为您提到的更改将与EMB2.0一起进行。
下面是一些额外的链接,描述如何为这次升级做好最好的准备。
https://gist.github.com/samselikoff/1d7300ce59d216fdaf97
https://speakerdeck.com/tomdale/ember-2-dot-0-in-practice
http://discuss.emberjs.com/t/what-is-a-good-way-to-do-this-in-ember-2-0-no-itemcontroller-no-arraycontroller/6649
如果您搜索ember 2.0,您可以找到很多资源。
编辑3在这里我认为是最有信息的来源,以跟上新的Ember发行版:https://www.youtube.com/watch?v=wsydQzQF4Ww
https://stackoverflow.com/questions/29861006
复制相似问题