将心比心,方得人心~

vue.js2相对于vue.js1做了哪些改动?

周洲 2017-12-10 15:29:05

1、1.0 router.go()   2.0 router.push()

2、v-link 指令已经被 <router-link> 组件替代. 这个组件接受以下属性参数:

  to : 一个路径字符串, 或者一个对象 location descriptor .

  tag : 渲染成的 html 元素类型,默认是 <a> .

  exact : 用于控制当前激活项的行为.

  append : 控制相对链接路径的追加方式

  replace : 替代而不是作为历史条目压榨

  active-class : 当链接项激活时增加的 CSS 样式

3、v-for循环中常用的$index、$key已不支持使用,trackby被key属性替换。

4、vue2过渡写法:

第一步:html中将需要过渡效果的代码外层包裹<transition></transition>,name对应css中第一个-符号前的名字


<transition name="fade">
    <div>我需要过渡效果</div>
</transition>
第二步:css中写以下代码:



.fade-enter-active, .fade-leave-active {
	transition: all 0.5s ease  
}   
.fade-enter, .fade-leave-active {
	opacity: 0 
}
5、获取dom。1.0:v-el;2.0使用:ref
1.0的写法:
 
<div class="menu-wrapper" v-el="menu-wrapper">
      <ul class="menu">
        <li v-for="item in goods" class="menu-item">
          <span class="text">
            <span v-if="item.type>0" class="icon" :class="classMap[item.type]"></span>{{item.name}}
          </span>
        </li>
      </ul>
    </div>
2.0的写法:
 
<div class="menu-wrapper" ref="menuWrapper">
      <ul class="menu">
        <li v-for="item in goods" class="menu-item">
          <span class="text">
            <span v-if="item.type>0" class="icon" :class="classMap[item.type]"></span>{{item.name}}
          </span>
        </li>
      </ul>
    </div>
ps:主要1.0 v-el=""引号里的写法是:
menu-wrapper 而2.0这里也做了变动,引号里用驼峰式 menuWrapper
js获取dom元素的时候也发生了变化:
1.0:的写法:
this.menuScroll = new BScroll(this.$els.menuWrapper, {})

2.0的写法:
this.menuScroll = new BScroll(this.$refs.menuWrapper, {})




打赏

『微信打赏』

Tag标签vue2改变 

我是有底线的