我很快就要在Angular 1.x中重写一个相对较大/复杂的Web应用程序。我还是要学习Angular 1.x.我知道Angular 2.x将与1.x完全不兼容,但是我有什么办法可以为Angular 2.x中的重写做准备吗?
例如:
代码结构:我可以将必须抛弃的代码与可重用的代码分开吗?当前的Web应用程序没有REST API,因此我假设至少我将编写的REST API可以重用于2.x版本。但我在这里关注客户端代码。
语言选择:我很可能会被要求使用纯JS(浏览器直接使用的版本),但使用Typescript代替编写Angular 1.x应用程序是明智的,因为那是什么Angular 2.x本身是用?
还有别的吗?
答案 0 :(得分:2)
我建议使用自己的" controllerAs"基于控制器。这使您接近Angular 2.0组件样式。事实上,它非常相似。 这是我的意思的一个例子:
http://www.syntaxsuccess.com/viewarticle/migrating-from-angular-1.x-to-angular-2.0
答案 1 :(得分:1)
没有理由在Typescript中编写Angular 2.x,除非您更喜欢它或想要对代码做出贡献,或者如果某些东西不起作用,请通过Angular 2.x代码来更好地理解它。 Typescript不会使JS更快或类似,它只提供静态类型,用于辅助您使用的IDE之类的开发工具。想想Visual Studio。
我建议你开始使用ES6,它引入了Angular 2使用的类(语法糖,js仍然是js),通过使用转换器将ES6代码转换为ES5,我认为越来越多的人会使用它(对克罗克福德和其他人的恐怖)。
不要使用复杂的指令内容,如transclude,compile / pre-link等,保持简单,因为Angular 2.x正在削减发明混淆程序员的新方法的思维方式。它们不完全相同,但Angular 2.x将基于组件,它们使用模板/视图的方式类似于指令。
熟悉ES6导入/导出。
不使用$ scope,它将以当前形式删除。
我实际上写了一篇关于它的更详细的博文,http://www.alajmovic.com/2015/07/18/preparing-for-angular-2.html