如何解决学vue 1.0和vue 2.0冲突问题
2017-02-25 20:33
375 查看
最近我也一直在vue,但是在利用vue-cli脚手架下载项目的视频,却下载vue 2.0。因为在我看的那个视频里面的还是vue 1.0。
但,我想着vue 2.0应该和vue 1.0差不多。应该没什么问题,所以没管什么,就一直看下了。
在做到vue里面的router模块的时候,出现了一个报错,就是xxx.map方法不存在。度娘了一下,vue 2.0的路由和vue 1.0的用法已经完全不一样了。这我就一脸懵逼了……
突然,灵机一动。我们可以下载的时候,下载vue 1.0版本不就可以了吗?
命令如下 :
可能有点看不清,我在这里也写了
这样子,就先vue 1.0之后,再过渡vue 2.0就可以了!
解决:
使用webpack下载2.0的脚手架,然后在这些配置的文件复制到相对的目录即可
但,我想着vue 2.0应该和vue 1.0差不多。应该没什么问题,所以没管什么,就一直看下了。
在做到vue里面的router模块的时候,出现了一个报错,就是xxx.map方法不存在。度娘了一下,vue 2.0的路由和vue 1.0的用法已经完全不一样了。这我就一脸懵逼了……
突然,灵机一动。我们可以下载的时候,下载vue 1.0版本不就可以了吗?
命令如下 :
可能有点看不清,我在这里也写了
vue init webpack#1.0 sell
这样子,就先vue 1.0之后,再过渡vue 2.0就可以了!
如何1.0的代码上修改,过渡到2.0呢
1、配置文件的修改
Package.json文件修改 Bulid目录的修改 Config目录的修改
解决:
使用webpack下载2.0的脚手架,然后在这些配置的文件复制到相对的目录即可
2、Vue-router API
初始化路由变化 v-link指令 替换为<router-link>组件 最好看官网的详细写法,参照里面写法即可升级到2.0 [vue-router2.0](http://router.vuejs.org/zh-cn/essentials/getting-started.html)
3、Vue2.0语法变法
v-for指令的变化 v-el、v-ref指令的变化 模板变化,组件只允许一个根元素 1.v-for指令没有默认的$index需要修改成 ``` 1.0 <span v-for="item in items"></span> 2.0 <span v-for="(item,index) in items" key="index"></span> ``` 需要自己手动加上这个参数不然就会报错 2.v-el、v-ref指令的变化 2.0 已经把这两个指令给删除了,不再有这两个指令 代替为 `<span ref="wrappers"></span>` <script> // 在你需要用的时候这样子调用: this.$refs.wrappers </script> 3.模板变化,组件只允许一个根元素 在所有的组件里面 在template标签里面,必须得有一个div标签包含所有的元素(我个人喜欢用div标签包含所有元素,其它元素也可以)
4、Vue2.0语法变化
1.组件通信变化 $dispatch 废除 2.事件监听变化,废除 events 属性 3.不能在子组件直接修改父组件传入的 prop 1.组件通信变化 $dispatch 废除,事件监听变化,废除 events 属性 改成 在子组件需要的地方添加 `this.$emit('xxx',event.target);` 然后在你的food组件的父组件里面传入监听的事件,比如 food组件 `<food @add="addFood"></food>` 然后就可以在你的父组件里面定义addFood方法 2.不能在子组件直接修改父组件传入的 prop 可以在子组件里面定义方法并使用`this.$emit('xxx',event.target);`派发父组件,然后在父组件里面接受该事件方法,然后再在方法里面修改值 exp: 子组件: good methods: { add() { this.$emit.('add'); }, delete(type) { this.$emit('delete',type); // type 是你希望子组件修改的值 } } 父组件: <good @add='addFodd' @delete="deleteFodd"></good> methods: { addFodd() { // 方法内容 }, deleteFodd(type) { // 方法内容 } }
5、过渡的变化,transition 组件,keep-alive改为组件
相关文章推荐
- 如何在vue里面优雅的解决跨域,路由冲突问题
- win 7 遇到闪屏 问题 如何解决??似乎和QQ2009冲突有关
- 如何解决飞思卡尔芯片使用监控程序产生的冲突问题
- 一个页面放2段图片滚动代码出现冲突的问题如何解决
- 如何解决Wordpress插件冲突的问题
- MyEclipse下完美解决Hibernate 3.2与Spring 2.0+冲突问题
- 如何解决金山词霸与卡巴斯基的冲突问题
- [K3Cloud2.0]如何解决创建管理中心失败的问题
- jsf2.0在myeclipse8.5中不出现提示的问题如何解决
- [K3Cloud2.0]如何解决创建管理中心失败的问题
- JQuery ajax 如何设置同步调用(同时只能触发一个函数) 解决与层显示信息时候的冲突问题
- 如何解决散列表的散列值的冲突问题 [好]
- 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
- 如何解决PPC QQ 与 钻石机diamond输入发冲突,死机的问题
- 如何解决tomcat端口冲突的问题的问题
- screen+minicom,如何解决ctrl+a冲突的问题
- java 网络编程【7】 如何检测和解决端口冲突问题?
- 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
- [K3Cloud2.0]如何解决创建管理中心失败的问题
- 如何解决端口冲突问题