博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue2.0以后,有哪些变化
阅读量:5890 次
发布时间:2019-06-19

本文共 3534 字,大约阅读时间需要 11 分钟。

最近移动端项目版本升级,Vue由之前的1.0升级到2.3,那么,Vue2.0之后,有哪些细节的变化呢,现在总结如下:

 

  1、在每个组件模板,不再支持片段代码

组件中模板:         之前:            
现在: 必须有根元素,包裹住所有的代码

2、关于组件定义

Vue.extend    这种方式,在2.0里面有,但是有一些改动,这种写法,即使能用,最好不用        Vue.component(组件名称,{    在2.0继续能用        data(){}        methods:{}        template:    });    2.0推出一个组件,简洁定义方式:    var Home={        template:''        ->   Vue.extend()    };

3、生命周期

之前:        init            created        beforeCompile        compiled        ready        √    ->     mounted        beforeDestroy            destroyed    现在:        beforeCreate    组件实例刚刚被创建,属性都没有        created         实例已经创建完成,属性已经绑定        beforeMount     模板编译之前        mounted         模板编译之后,代替之前ready  *        beforeUpdate    组件更新之前        updated         组件更新完毕    *        beforeDestroy   组件销毁前        destroyed       组件销毁后

 4、循环

2.0里面默认就可以添加重复数据    arr.forEach(function(item,index){    });    去掉了隐式一些变量        $index    $key    之前:        v-for="(index,val) in array"    现在:        v-for="(val,index) in array"track-by="id"    变成        
  •   5、自定义键盘指令

    之前:Vue.directive('on').keyCodes.f1=17;            现在:  Vue.config.keyCodes.ctrl=17

    6、过滤器

    之前:       系统就自带很多过滤       {
    {msg | currency}} {
    {msg | json}} .... limitBy filterBy ..... 一些简单功能,自己通过js实现 到了2.0, 内置过滤器,全部删除了 lodash 工具库 _.debounce(fn,200) 自定义过滤器——还有 但是,自定义过滤器传参 之前: {
    {msg | toDou '12' '5'}} 现在: {
    {msg | toDou('12','5')}}

     7、组件通信

    vm.$emit()    vm.$on();    父组件和子组件:    子组件想要拿到父组件数据:        通过  props    之前,子组件可以更改父组件信息,可以是同步  sync    现在,不允许直接给父级的数据,做赋值操作    问题,就想更改:        a). 父组件每次传一个对象给子组件, 对象之间引用    √        b). 只是不报错, mounted中转------------------------------------------------------可以单一事件管理组件通信:    vuex    var Event=new Vue();    Event.$emit(事件名称, 数据)    Event.$on(事件名称,function(data){        //data    }.bind(this));

     8、延迟

    debounce    废弃    ->   lodash        _.debounce(fn,时间)

     9、动画

    transition 之前   属性

    class定义.fade-transition{}.fade-enter{}.fade-leave{}到2.0以后 transition 组件
    运动东西(元素,属性、路由....)
    class定义:.fade-enter{} //初始状态.fade-enter-active{} //变化成什么样 -> 当元素出来(显示).fade-leave{}.fade-leave-active{} //变成成什么样 -> 当元素离开(消失)如何animate.css配合用

    多个元素运动

    10、路由

    基本使用:1.  布局    
    主页
    2. 路由具体写法 //组件 var Home={ template:'

    我是主页

    ' }; var News={ template:'

    我是新闻

    ' }; //配置路由 const routes=[ {path:'/home', componet:Home}, {path:'/news', componet:News}, ]; //生成路由实例 const router=new VueRouter({ routes }); //最后挂到vue上 new Vue({ router, el:'#box' }); 3. 重定向 之前 router.rediect 废弃了 {path:'*', redirect:'/home'}路由嵌套: /user/username const routes=[ {path:'/home', component:Home}, { path:'/user', component:User, children:[ //核心 {path:'username', component:UserDetail} ] }, {path:'*', redirect:'/home'} //404 ];------------------------------------------/user/strive/age/10:id:username:age------------------------------------------路由实例方法: router.push({path:'home'}); //直接添加一个路由,表现切换路由,本质往历史记录里面添加一个 router.replace({path:'news'}) //替换路由,不会往历史记录里面添加

     

    转载于:https://www.cnblogs.com/chenyablog/p/6789064.html

    你可能感兴趣的文章
    html5 Web Workers
    查看>>
    iis 故障导致网站无法访问
    查看>>
    作业抄袭简单检测
    查看>>
    ASP.NET 回调技术(CallBack)
    查看>>
    Spark源码分析 – BlockManager
    查看>>
    JS中的this
    查看>>
    人生, 不要在别扭的事上纠结
    查看>>
    C的面向对象编程
    查看>>
    日志服务器架构设计
    查看>>
    使用Unity开发Android的几种调试方法
    查看>>
    C++ 基础笔记(一)
    查看>>
    编译内核出错:invalid option `abi=aapcs-linux' 解决办法
    查看>>
    System.Func<>与System.Action<>
    查看>>
    [翻译] EnterTheMatrix
    查看>>
    asp.net开源CMS推荐
    查看>>
    我所思考的生活,致半年后的自己
    查看>>
    Python 学习书籍推荐
    查看>>
    csharp skype send message in winform
    查看>>
    jQuery plugin: Tablesorter 2.0
    查看>>
    csharp:datagridview enter Half Width and Full Width characters
    查看>>