Vue (3) — 计算属性、监视属性(侦听属性)、深度监视

目录

一、计算属性

  1.定义

  2.原理

  3.get函数什么时候执行?

  4.优势

  5.备注

  6.案例(使用三种方法实现)

    1.使用插值语法实现

    2.使用methods实现

    3.使用计算属性实现 

  7.计算属性的简写 

二、监视属性(即“侦听属性”)

三、深度监视 

  1.深度监视

   2.深度监视的简写

         (1).写法一

         (1).写法二

  3.computed和watch之间的区别

        (1).区别

         (2).两个重要的小原则


一、计算属性

  1.定义

        要用的属性不存在,要通过已有的属性计算得来

  2.原理

        底层借助了Object.defineproperty方法提供的gettersetter

  3.get函数什么时候执行?

        (1).初次读取时会执行一次

        (2).当依赖的数据发生改变时会被再次调用

  4.优势

        与methods实现相比,内部有缓存机制(复用),效率更高,调试方便

  5.备注

        1.计算属性最终会出现在vm上,直接读取使用即可

        2.如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生改变

  6.案例(使用三种方法实现)

    1.使用插值语法实现

<body>
    <div id="root">
        姓:<input type="text" v-model:value='firstname'><br/><br/>
        名:<input type="text" v-model:value='lastname'><br/><br/>
        全名:<span>{
  {firstname}}-{
  {lastname}}</span>
    </div>
</body>
<script>
    Vue.config.productionTip = false//阻止vue在启动时生成生产提示
    new Vue({
        el:'#root',
        data:{
            firstname:'张',
            lastname:'三'
        }
    })
</script>

    2.使用methods实现

<body>
    <div id="root">
        姓:<input type="text" v-model:value='firstname'><br/><br/>
        名:<input type="text" v-model:value='lastname'><br/><br/>
        全名:<span>{
  {fullName()}}</span>
    </div>
</body>
<script>
    Vue.config.productionTip = false//阻止vue在启动时生成生产提示
    new Vue({
        el:'#root',
        data:{
            firstname:'张',
            lastname:'三'
        },
        methods:{
            fullName(){
                return this.firstname+'-'+this.lastname
            }
        }
    })
</script>

  

    3.使用计算属性实现 

<body>
    <div id="root">
        姓:<input type="text" v-model:value='firstnam
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值