vue3中使用computed
演示示例(vant组件库的轮播图):
<van-swipe :loop="false" :width="150" class="my-Swiper" :show-indicators="false">
<van-swipe-item v-for="item in state.musicList" :key="item.id">
<img :src="item.picUrl" alt="" srcset="" />
<span class="playCount">
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-gl-play"></use>
</svg>
{{playcount(item.playCount)}} // 显示播放量,playcount为计算属性
</span>
<span class="name">{{item.name}}</span>
</van-swipe-item>
</van-swipe>
js部分使用vue3的setup语法糖:
<script setup>
import { computed } from '@vue/reactivity';
import { onMounted, reactive } from 'vue';
import { getMusicList } from '../../request/api/home';
let state = reactive({
musicList: []
})
onMounted(async () => {
let { data } = await getMusicList() // 这里的{data}用法为解构,意思是获取返回数据里的data值
console.log(data.result);
state.musicList = data.result
console.log(state.musicList);
})
let playcount = computed(() => {
// 直接使用computed((count) => { return count})会报错TypeError: $setup.playcount is not a function
// 上面的报错告诉我们,playcount不是一个函数
// vue3中computed返回值不固定,而computed现在返回的是一个普通的值,所以我们尝试返回一个函数,成功。
return (count) => {
console.log(count);
return count
}
})
</script>
总结:
我们给computed传参的时候,需要返回一个函数来处理
vue3中使用computed的更多相关文章
- vue 3 学习笔记 (七)——vue3 中 computed 新用法
vue3 中 的 computed 的使用,由于 vue3 兼容 vue2 的选项式API,所以可以直接使用 vue2的写法,这篇文章主要介绍 vue3 中 computed 的新用法,对比 vue2 ...
- 端午总结Vue3中computed和watch的使用
1使用计算属性 computed 实现按钮是否禁用 我们在有些业务场景的时候,需要将按钮禁用. 这个时候,我们需要使用(disabled)属性来实现. disabled的值是true表示禁用.fals ...
- vue3中watch函数
watch 监听普通类型 let count = ref(1); const changeCount = () => { count.value+=1 }; watch(count, (newV ...
- Vue3中的响应式对象Reactive源码分析
Vue3中的响应式对象Reactive源码分析 ReactiveEffect.js 中的 trackEffects函数 及 ReactiveEffect类 在Ref随笔中已经介绍,在本文中不做赘述 本 ...
- Vue 中的 computed 和 methods
Vue 中的 computed 和 methods 使用 computed 性能会更好. 如果你不希望缓存,可以使用 methods 属性.
- Vuejs中关于computed、methods、watch的区别。
Vue.js在模板表达式中限制了,绑定表达式最多只能有一条表达式,但某些数据需要一条以上的表达式运算实现,此时就可以将此数据放在计算属性(computed)当中. Vuejs中关于computed.m ...
- vue中methods,computed,filters,watch的总结
08.28自我总结 vue中methods,computed,filters,watch的总结 一.methods methods属性里面的方法会在数据发生变化的时候你,只要引用了此里面分方法,方法就 ...
- vue系列---理解Vue中的computed,watch,methods的区别及源码实现(六)
_ 阅读目录 一. 理解Vue中的computed用法 二:computed 和 methods的区别? 三:Vue中的watch的用法 四:computed的基本原理及源码实现 回到顶部 一. 理解 ...
- vue中的computed和watch区别
在vue.js官方文档中看到computed和watch获取全名的一个例子: var var vm = new Vue({ el: '#demo', data: { firstName: 'Foo', ...
随机推荐
- 没写完。【java】IDEA-调教界面、设置语言、插件的使用
步骤: 1.官方网站:https://www.jetbrains.com/idea/ (zip)版本:https://download.jetbrains.com.cn/idea/ideaIC-202 ...
- Springboot重定向,没有位置没有加“/user”,但是url在请求位置的前面“/user”就出现了
是因为":"后面没有加"/" 原先的 return "redirect:main.html"; 正确的 return "redir ...
- 第五十三篇:Vue安装Element ui
好家伙,之前写的一篇过时了,用不了了,更新一波 (已新建一个vue项目) 1. 在项目目录下执行:npm i element-ui -S 2. 在main.js中写入 import ElementUI ...
- yield功能分析
下面是示例 输出结果: starting... 4 ******************** res: None 4
- Git Bash(提交文件到GitHub进行托管)
Introduction 使用Git Bash命令,可以将一个项目上传到Github官网中,进行托管,避免重要文件被误删 1.Git工具下载 Git for Windows 2.在github中新 ...
- yum install lrzsz
yum install lrzsz rz:从本地上传文件至服务器 sz filename:从服务器下载文件至本地
- .Net 7内容汇总(2)--原始字符串
在C# 11里,添加了一个叫原始字符串的东西. 这个东西算是我相当喜欢以及期待的功能. 我们先来看看这玩意咋用. 首先,我们先来看看之前如果我们需要定义一个带引号的字符串我们需要怎么做. var a ...
- 基于electron+vue+element构建项目模板之【改造项目篇】
1.概述 开发平台OS:windows 开发平台IDE:vs code 上一篇中已完成了electron-vue项目的创建,本篇章中则介绍在此项目基础上进行取消devtools的安装.项目结构的改造. ...
- filebeat直接给es传输日志,自定义索引名,自定义多个索引文件
官方文档地址: https://www.elastic.co/guide/en/beats/filebeat/7.3/elasticsearch-output.html https://www.ela ...
- 关于HM NISEDIT在新版系统下编译并运行提示权限不足问题的解决方案
如果你使用过NSIS为你的项目制作过安装包,那HM nisedit一定是你绕不过去的槛,作为NSIS号称的最佳免费IDE/编辑器,功能齐全,与NSIS配合性能强悍,实至名归.只是开发作者最后版本更新在 ...