zoukankan      html  css  js  c++  java
  • watch、computed、set、delete、filters、transition动画

      

    1、watch监听

      方法:

        action(nv, ov){

          this.msg = nv

        }

      监听的几种方法

        name: function(nv, ov){

          this.msg = nv

        }

        name(nv, ov){

          this.msg = nv

        }

        'name'(nv, ov){

          this.msg = nv

        }

        'name': 'action'

        obj: {

          handler(nv, ov){

            this.msg = nv

          },

          deep: true  // 深度监听,值为false时,对象中的属性值变化,不会执行handler方法

        }

    2、计算属性

       在 vue 模板里面使用表达式是非常便利的,但是设计他们的初衷是用来简单运算的。在实际的开发过程中在模板里放入过多的表达式会让项目的可维护性大大降低。

      计算属性中使用data中的数据一旦有变化,计算属性就会更新

      total( ){

        if(this.shop.count > 5){

          return  this.shop.price  *  this.shop.count

        }else{

          return this.shop.price  *  this.shop.count  +  5

        }

      }

      计算属性传参数

      num( ){

        return  function(i){

          return  this.num.toFixed(i)

        }

      }

    3、$set、$delete

      {{obj.age}}

      obj: {id:1, name: 'xx'}

      add(){

        this.obj.age  =  18  // 不会触发视图更新

        this.$set(this.obj, 'age', 18)  // 会触发视图更新

        delete  this.obj.name  // 不会触发视图更新

        this.$delete(this.obj, 'name')  // 会触发视图更新

      }

    4、过滤器

      文本格式化,可以在表达式{{ }}和v-bind中使用

      {{3.1415926 | number}}

      {{3.1415926 | num(2)}}

      filters: {

        number(data){

          return  data.toFixed(2)

        },

        num(data,n){

          return  data.toFixed(n)

        }

      }

    5、全局过滤器

      先创建一个filters文件夹,再创建一个index.js文件
      index.js文件
      export function filterSex(data){
        return data == 'man' ? '男' : '女'
      }
      export function filterState(data){
        return data == 1 ? '已购买' : '未购买'
      }

      main.js文件
      import * as filters from './filters/index'
      Object.keys(filters).forEach(key => {
        Vue.filter(key,filters[key])
      })

    6、transition动画

      第一种
      <transition name='fade'>
        <p>显示与隐藏</p>
      </transition>
      .fade-enter{ opacity:0 }
      .fade-enter-active{ transition: opacity 1s ease}
      .fade-enter-to{ opacity:1 }
      .fade-leave{ opacity: 1 }
      .fade-leave-active{ transition: opacity 1s ease}
      .fade-leave-to{ opacity:0 }

      第二种
      <transition enter-active-class='' leave-active-class=''>
        <p>动画</p>
      </transition>

    计算属性和watch监听的区别

      watch监听:监听具体的属性或对象,当监听的对象发生变化,执行对应的函数

      computer计算属性:函数中所用到data中的数据发生变化,都会执行对应函数

    计算属性和方法的区别

      计算属性有缓存,多次用到同一个计算属性,计算属性只会执行一次

      方法没有缓存,多次用到同一个方法,方法会执行多次

  • 相关阅读:
    Centos7 安装MySQL 5.7 (通用二进制包)
    test
    test
    Windows Live Writer离线写CSDN博客
    Windows Live Writer离线写CSDN博客
    Oracle单引号双重角色——字符串引用与转义
    Oracle单引号双重角色——字符串引用与转义
    Kettle实现数据库迁移
    Kettle实现数据库迁移
    kettle实现数据库迁移----多表复制向导
  • 原文地址:https://www.cnblogs.com/cuishuangshuang/p/13175116.html
Copyright © 2011-2022 走看看