- <!-- `users/edit.html.erb` -->
- <div ng-controller="UserEditCtrl">
- <div id="v-wrapper">
- <!-- vuejs logic goes here... -->
- <input v-model="username" placeholder="Username" />
- ...
- </div>
- </div>]);
我们在应用中惹人了 Vue 的逻辑,却不须要改变任何相干应用的前端构造。这极大年夜程度的赞助我们降低在迁徙过程中产生缺点的风险,我们可以花 1-2 个小时敏捷地将一小部分 AngularJS 实现的器械转换为 VueJS 实现,然后测试并安排,不消担心它会导致回归缺点。
我们起首须要找到一个 AngularJS 中大年夜量应用的 $http 办事的替代品。我们直接应用了 axios。我们不再直接应用 $http,但我们环绕它进行了抽象封装,以使修改变得异常简单。
然后,我们像如许定义了大年夜量的 AngularJS:
- // users.js app.service('Users', ['$http', 'Ajax',
- function ($http, Ajax) {
- this.create = function(user) {
- // ...
- }
- }
- ]);
- ]);
应用 ES6 类语法代替就好:
- // users.js.es6 export default class Users {
- static create(user) {
- // ...
- }
- }
- ]);
如不雅其它控制器中应用有 Angular 代码在应用这些办事,我们会复制这些办事并应用 ES6 类语法来实现,同时保持原有的 Angular 版本,直到不再有 Angular 代码应用它们为止。这会在短时光内让代码出现反复,但我们只须要当心一点,在代码中多写些注释来接洽关系两个版本。
3、应用 VueJS 组件代替 AngularJS 控制器
完成上述两点之后,一些 AngularJS 控制器可以完全迁徙到 VueJS,这和膳绫擎的第 2 步类似,我们应用 ES6 语法来代替 app.controller() 定义。不过此次,我们应用 Vue 的单文件组件:
文件:user_edit.vue
- <template>
- <div>
推荐阅读
我们信赖苹不雅会很快经由过程更新的方法解决这个问题,但如今对Apple Watch用户来说,临时照样用Siri来询问气象比较好。 【编辑推荐】比Apple Watch更惊艳的交互技巧:Project Soli隔空感应Apple Watch>>>详细阅读
本文标题:我们为什么以及是如何从Angular.js迁移到Vue.js?
地址:http://www.17bianji.com/lsqh/38491.html
1/2 1