我的问题是:有人可以指导我从基于控制器的应用程序迁移到组件基础应用程序吗?
我正在为我的狗训练俱乐部制作地图应用程序。我们专注于帮助寻找失踪人员。 为了组织我们的培训,我们需要一个应用程序来绘制路径并在其上添加项目等。
我使用Ember-Cli和OpenLayers-3开始了一个应用程序。该应用程序运行良好,但我想将代码从基于控制器的代码移动到组件库方法。
我现在还想使用更多路由,我只有一条路由,所有用户交互都是使用操作处理的。
我已经在github上为那些善于帮助我的人设置了一个存储库:
https://github.com/mylen/mantrailling
如果你想检查代码并测试app localy,你需要使用导航器中的头部mod修改引用来使用http://demo.melard.fr
您可以在该页面看到该网站的测试版:
http://recherche.utilitaire.melard.fr/beta/map
提前谢谢你,
答案 0 :(得分:2)
首先,我们应该澄清ember.js中组件,控制器和路由的预期用途。
组件与视图类似,但它们是隔离的,因此用于创建可重用的代码片段,用于处理模型的可视化表示。
控制器主要用于装饰模型,但也用于保持应用程序状态。
路由代表您当前的应用程序状态。他们负责加载模型并初始化控制器。
要解决您的第一个问题(控制器 - >组件),您只需要将所有与视图相关的内容(仅限于此内容)移动到组件中。装饰模型的代码(例如路点的活动标志)仍保留在控制器中。您只需要通过余烬数据绑定将模型/控制器的数据绑定到组件。 (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
高度相关,因为您提到的更改将与ember 2.0一起出现。
以下是一些其他链接,介绍如何为此升级做好最佳准备。
https://gist.github.com/samselikoff/1d7300ce59d216fdaf97
https://speakerdeck.com/tomdale/ember-2-dot-0-in-practice
如果您搜索ember 2.0
,可以找到很多资源。
编辑3 以下是我认为最有助于跟上新Ember版本的信息来源: https://www.youtube.com/watch?v=wsydQzQF4Ww