当前位置: 首页 > news >正文

云一网站建设免费建设网站平台

云一网站建设,免费建设网站平台,成都设计公司尹超简历,义乌网页制作Computed 又被称作计算属性,用于动态的根据某个值或某些值的变化,来产生对应的变化,computed 具有缓存性,当无关值变化时,不会引起 computed 声明值的变化。 产生一个新的变量并挂载到 vue 实例上去。 vue3 中 的 com…

Computed 又被称作计算属性,用于动态的根据某个值或某些值的变化,来产生对应的变化,computed 具有缓存性,当无关值变化时,不会引起 computed 声明值的变化。 产生一个新的变量并挂载到 vue 实例上去。

vue3 中 的 computed 的使用,由于 vue3 兼容 vue2 的选项式 API,所以可以直接使用 vue2 的写法,以下是 vue3 中 computed 的写法和 vue2 中的写法的对比。

组合式 API 中使用 computed 时,需要先引入:import { computed } from "vue"。 引入之后 computed 可以传入的参数有两种: 回调函数和 options 。 具体使用

一、函数式写法

在 vue2 中,computed 写法:

computed:{  sum(){  return this.num1+ this.num2  } 
}

在 vue3 如果使用选项式 API 也可以这样写,主要看下组合式 API 的使用。

示例 1:求和

import { ref, computed }  from "vue"export default { setup(){  const num1 = ref(1)  const num2 = ref(1)  let sum = computed(()=>{  return num1.value + num2.value   }) }
}

调用 computed 时, 传入了一个箭头函数,返回值作为 sum 。相比之前,使用更加简单了。如果需要计算多个属性值,直接调用就可以。如:

let sum = computed(()=>{return num1.value + num2.value 
})
let mul = computed(()=>{  return num1.value * num2.value  
})

二、options 写法

计算属性默认只有 getter ,在需要的时候也可以提供 setter 。在 vue2 中用法如下:

computed:{ mul:{  get(){ // num1 值改变时触发    return this.num1 * 10   },  set(value){ // mul 值被改变时触发    this.num1 = value /10   }  } 
}

mul 属性是给 num1 放大 10,如果修改 mul 的值,则 num1 也随之改变。

在 vue3 中 :

let mul = computed({ get:()=>{   return num1.value *10 }, set:(value)=>{   num1.value = value/10 } 
})

这两种写法不太一样,仔细观察区别不大,get 和 set 调用也是一样的。

三、computed 传参

计算属性需要传入一个参数怎么写呢?

<template> <div>  <div v-for="(item,index) in arr" :key="index" @click="sltEle(index)">    {{item}}   </div></div>
</template>
<script>
import { ref, computed,reactive } from "vue"export default{ setup(){   const arr = reactive([    '哈哈','嘿嘿'   ])  const sltEle = computed( (index)=>{   console.log('index',index);   })  return{ arr,sltEle }} 
}
</script>

直接这样写,运行的时候,出现错误:Uncaught TypeError: $setup.sltEle is not a function。

原因:

computed 计算属性并没有给定返回值,我们调用的是一个函数,而 computed 内部返回的并不是一个函数,所以就会报错:sltEle is not a function。

解决办法:

需要在计算属性 内部返回一个函数。修改代码如下:

const sltEle = computed(()=>{ return function(index) {  console.log('index',index);} 
}

http://www.zhongyajixie.com/news/5149.html

相关文章:

  • 网站前端开发流程惠城网站设计
  • 南阳网站建设怎么把产品推广到各大平台
  • wordpress翻墙seo下拉优化
  • 苏州外贸公司网站建设流程图百度手机网页版入口
  • 网页设计作品简单跨境电商seo是什么意思
  • 大鹏网站建设公司网站收录一键提交
  • 网站模板jsp百度知道app官方下载
  • 沂南网站设计如何优化推广中的关键词
  • 3d动画制作教程视频seo的流程是怎么样的
  • 怎么做百度网站验证码刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 小型电商网站开发百度竞价排名榜
  • wordpress默认插件安徽seo团队
  • 可以做ppt的网站有哪些方面手机百度快照
  • 如何做物流网站营销推广型网站
  • 自己如何建一个网站杭州网站提升排名
  • 电商网站设计与开发营销手机系统安装
  • 做代刷主站网站关键词推广seo怎么优化
  • 微博网站可以做兼职吗seo 优化
  • 网上书城 网站建设方案免费建站网站一级
  • 面对不法网站该怎样做上海培训机构
  • 西宁网站推广流量宝官网
  • 做系统之前的网站同城广告发布平台
  • 微信服务号菜单链接网站怎么做宁波seo关键词优化制作
  • 日本站群服务器b站推广网站mmm
  • web网站开发需要的软件跟我学seo从入门到精通
  • 北京百子湾后现代城网站建设seo关键词排名优化怎样
  • 网站建设项目明细seo优化推广
  • 静态网页设计用什么软件windows11优化大师
  • 漂亮的网页嘉峪关seo
  • 做网站要几个部门组成培训计划方案模板