美文网首页
computed代码块

computed代码块

作者: 糖醋里脊120625 | 来源:发表于2022-03-30 17:15 被阅读0次
    
    computed 大家后很熟悉, 它会在其表达式中依赖的响应式数据发送变化时重新计算。如果我们在一个计算属性中书写了比较复杂的表达式,那么其依赖的响应式数据也任意变得更多。当其中任何一个依赖项变化时整个表达式都需要重新计算
    
    let price = computed(()=>{
      let basePrice = manufactureCost / (1 - profitMargin)
      return (
          basePrice -
          basePrice * (discountPercent || 0)
      )
    })
    当 manufactureCost、profitMargin、discountPercent 中任何一个变化时都会重新计算整个 price。
    
    但是如果我们改成下面这样
    
    let basePrice = computed(() => manufactureCost / (1 - profitMargin))
    let discount = computed(() => basePrice * (discountPercent || 0))
    let finalPrice = computed(() => basePrice - discount)
    如果当 discountPercent 变化时,只会 重新计算 discount 和 finalPrice,由于 computed 的缓存特性,不会重新计算 basePrice
    
    
    
    vue2
    computed: {
        activatedTabSelected: function () {
          return this.selectedProducts.filter(value => value.orgId
              === this.selectedTabOption.orgId);
        },
      },
    
    
    
    vue3
     // 获取书籍分类列表类
        const showGoods = computed(() => {
          return goodso[currentType.value].list;
        })
    

    相关文章

      网友评论

          本文标题:computed代码块

          本文链接:https://www.haomeiwen.com/subject/allwjrtx.html