1.每个组件模板不支持代码片段
组件中模板
之前
<template>
<h3>as</h3>
</template>
现在 必须要有根元素 包裹住所有代码
<template>
<div>

</div>
</template>

2.关于组件定义
Vue.extend
Vue.component(组件名称,{
data(){}
methods:{}
template:{}
})

3.生命周期
之前
init
created
beforeCompile
compiled
ready => mounted
beforeDestroyed
destroyed

现在
beforeCreate 组件刚刚被创建 属性都没有
created 实例已经创建 属性已经绑定
beforeMount 模板编译之前
mounted 模板编译之后 代替之前的ready
beforeUpdate 组件更新之前
updated 组件更新完毕
beforeDestroy 组件销毁之前
destroyed 组件销毁之后

3循环
默认可以插入重复的数据
去掉了一些隐式的变量
v-for="(val,index) in array"
v-for="(index,val) in array"

4.track-by="id"
变成
<li v-for="(val,index) in list" :key="index"></li>

5.自定义键盘指令
之前 Vue.directive("on").keyCodes.f1 = 17
现在 Vue.config.keyCodes.ctrl = 17

6过滤器
内置过滤器 全部删除

lodash 工具库 _.debounce(fn,200)
自定义过滤器还有
传参改变
{{msg|toDou '12' '5'}}
{{msg|toDou('12','5')}}

组件通讯
vm.$emit()
vm.$on()

父组件和子组件

子组件要拿到父组件数据 props

之前 子组件可以更改父组件信息 同步sync
现在 不允许直接直接给父级数据 做赋值操作

问题
1.父组件每次传一个对象给子组件
2.mounted中转

单一事件管理组件通信 vuex
var Event = new Vue();
Event.$emit(事件名称,数据)
Event.$on(事件名称,function(data){
//data
}.bind(this))

debounce 废弃
->lodash
_.debounce(fn,事件)

vue动画
vue路由

-------

transition 之前是属性
<p transition="fade"></p>
.fade-transition{}
.fade-enter{}
.fade-leave{}

2.0之后是组件
<transition>
运动东西 元素 属性路由
</transition>

class定义
fade-enter 初始状态
fade-enter-active 变成什么样 元素显示出来
fade-leave
fade-leave-active 元素离开

和animate.css配合
<transition enter-active-class="" leave-active-class="">
</transition>

vue2.0路由
1
<router-link to="/home"></router-link>
<router-view></router-view>
2
var Home = {
template
}
var News = {
template
}
//配置路由
const routes = [
{path:"/home",component:Home},
{path:"/News",component:News}
];
//生成路由实例
const router = new VueRouter({
routes
})
new Vue({
router,
el:"#box"
})
3.重定向
router.direct废弃
{path:'*',redirect:'/home'}
4.路由嵌套
const routes = [
{path:'/home',component:Home},
{
path:'/user',
component:User,
children:[
{path:'username',component:UserDetail}
]
},
{path:'*',component:'/home'}
]

/user/:id/:name
/user/12/weizai

路由实例方法
router.push({path:'home'}) 直接添加一个路由 表现切换路由历史记录里面添加一个
router.replace({path:'news'}) 替换路由 不会往历史记录里添加

脚手架
vue-cli npm install

1.0
new Vue({
el:"#app",
components:{App}
})
2.0
new Vue({
el:'#app',
render:h=>h(App)
})

vue2.0 vs vue1.0的更多相关文章

  1. vue2.x和vue1.0

    1.首先挂载方式上 在vue2.0中,如果使用body或者html作为挂载点,则会报以下警告: Do not mount Vue to <html> or <body> - m ...

  2. vue1.0和vue2.0的区别(一)

    今天我们来说一说vue1.0和vue2.0的主要变化有哪些 一.在每个组件模板,不在支持片段代码 VUE1.0是: <template> <h3>我是组件</h3> ...

  3. vue1.0和vue2.0的区别(二)

    这篇我们继续之前的vue1.0和vue2.0的区别(一)继续说 四.循环 学过vue的同学应该知道vue1.0是不能添加重复数据的,否则它会报错,想让它重复添加也不是不可以,不过需要定义别的东西 而v ...

  4. vue1.0与vue2.0对于v-for的使用的区别

    vue1.0与vue2.0对于v-for的使用的区别: 1,vue1.0中有$index,而vue2.0将$index移除. 2,vue1.0中(index,item) in list 而vue2.变 ...

  5. vue1.0+vue2.0实现选项卡

    通常我们写tab选项卡的时候,一般都是用jq等去操作dom,给同级元素移除active类,然后,给被点击元素添加active类,用vue实现也是同样的原理,都是操作active类. 我们都知道用vue ...

  6. vue的生命周期(又称钩子函数)----以及vue1.0版本与vue2.0版本生命周期的不同

    vue生命周期 1. vue1.0版本与vue2.0版本生命周期的不同 vue1.0版本生命周期图示 图1  vue1.0版本生命周期 vue1.0版本的生命周期: init 实例创建之前 creat ...

  7. vue1.0 与 Vue2.0的一些区别 及用法

    1.Vue2.0的模板标记外必须使用元素包起来: eg:Vue1.0的写法 <!DOCTYPE html> <html> <head> <meta chars ...

  8. 【重点突破】—— Vue1.0到Vue2.0的变化

    前言: 本文参考作者:_So_ 和 我是某慧 的博文,重点梳理Vue1.0升级到Vue2.0后在开发中要注意的不同,以做学习.        组件模板不再支持片段代码,必须有一个顶级元素包裹,例如: ...

  9. vue使用中遇到的,以及vue1.0到vue2.0新手踩的坑

    最近再写一个vue的项目,视频中用的是vue1.0,但是现在vue已经2.0,所以踩了很多坑,先记录下来.理解有误再来修改. 路由问题 之前的路由是写在app.vue里边,而2.0的路由直接有个rou ...

随机推荐

  1. linux 学习2 常用命令

    1.显示日期的指令: date 2.   [Tab]按键---具有『命令补全』不『档案补齐』的功能 3:  su和 sudo  su用于用户之间的切换.  su在不加任何参数,默认为切换到root用户 ...

  2. 问题:只能在执行 Render() 的过程中调用 RegisterForEventValidation;结果:只能在执行 Render() 的过程中调用 RegisterForEventValidation

    只能在执行 Render() 的过程中调用 RegisterForEventValidation 当在导出Execl或Word的时候,会发生只能在执行 Render() 的过程中调用 Register ...

  3. JS中,日期对象(获取当前现在的年份,星期,时间)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. mysql:mysql Access denied for user root@

    最近用本地Navicat连接集群的mysql,报了上述的错误,我认为是权限问题 之前试过赋权限给所有人,但是我这边还是连接不上,无奈,试试只分给我一个IP 开始:mysql -uroot -p //先 ...

  5. CORS实现跨域Ajax

    客户端 #!/usr/bin/env python import tornado.ioloop import tornado.web class MainHandler(tornado.web.Req ...

  6. 第一个Dockerfile

    1. 创建docker目录 $ mkdir docker && cd docker 2. 编写Dockerfile $ vim Dockerfile [docker/Dockfile] ...

  7. css 层叠式样式表(3)

    样式分类 大小 -- 调整div大小,长 width,高 height.长可以直接100%横向沾满屏幕,高不可以. 背景 background-color  背景色 background-image ...

  8. Python 网络爬虫 004 (编程) 如何编写一个网络爬虫,来下载(或叫:爬取)一个站点里的所有网页

    爬取目标站点里所有的网页 使用的系统:Windows 10 64位 Python语言版本:Python 3.5.0 V 使用的编程Python的集成开发环境:PyCharm 2016 04 一 . 首 ...

  9. Linux uname命令

    一.简介 uname 命令将正在使用的操作系统名写到标准输出中. 二.语法 -a 显示 -m. -n. -r. -s 和 -v 标志指定的所有信息.不能与 -x 或 -SName 标志连用.如果 -x ...

  10. Luogu 3521 [POI2011]ROT-Tree Rotations

    BZOJ 2212 从下到上线段树合并. 考虑到每一个子树内部产生的贡献不可能通过换儿子消除,所以一次更换只要看看把哪个儿子放在左边产生的逆序对数少就可以了. 逆序对数可以在线段树合并的时候顺便算出来 ...