计算属性computd,侦听属性watch,事件处理函数methods和mixin

computd vs watch vs methods

  1. 项目中:

    1. computed计算属性:
      1. 有逻辑
      2. 像变量一样使用
      3. 一定要有return返回值
        <div id="app">
            <p> {{split_msg}} </p>
        </div> 
    
      new Vue({
        el:'#app',
        data:{
            msg:'xixihaha'
        },
        computed:{//这里存放的是多个方法,这些方法往往都和data选项中的数据有关系
            split_msg() {
                return this.msg.split('')
            }
        }
    })
    
    
    1. methods
      • 事件处理程序
    2. watch侦听属性:异步操作( 数据请求 )双向数据请求,用v-model指令
      1. 是用来监听 data 选项中的数据的,只要data中的数据发生改变,它就会自动触发
      2. watch是一个对象,它里面存储的是 { [key: string]: string | Function | Object | Array }
      3. 往往watch我们里面常存储的是方法
      4. watch中方法的名称就是 data 选项中数据的名称
      5. 深度监听
         <div id="app">
            <input type="text" v-model="msg">
            <input type="text" v-model="num">
        </div>
    
        new Vue({
            el:'#app',
            data:{
                msg:'hello',
                num:'haha'
            },
            watch:{
                msg(){
                    console.log('改变啦')
                },
                num:{//深度监听
                    deep:true,
                 handler(){
                        console.log('我也改变了')
                    }
                }
            }
        })
    
  2. computed vs methods

    • 计算属性是基于它们的依赖进行缓存的。
    • 计算属性只有在它的相关依赖发生改变时才会重新求值

mixin

  1. 使用它的好处:

    1. 将 options 中的配置项可以单独抽离出来,单独管理,这样方便维护
      使用:

    2. 新建一个 对象 用来保存 options 中某一个配置项,比如: methods

    3. 接下来要将我们创建好的对象混入到我们的 ViewModel 中,我们的混入形式有两种

      • 局部混入 【 推荐 】
        只是在当前 vm 中才有
        new Vue({
        mixins: [ myMixin ]
        })
        
      • 全局混入
        在所有的vm中都会有
             Vue.mixin({
             methods: {
                 aa () {}
                }
             })
      
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值