首页 > 其他分享 >vue3 基础-API-computed

vue3 基础-API-computed

时间:2022-11-20 10:06:52浏览次数:49  
标签:count const computed value API vue3 return countAddFive

API-computed 基本使用

前些章节讲了一些常用的 api 如 setup, ref, reactive, toRef ... 等, 并以一个 todoList 的小案例来体现在 vue3 中如何进行解耦逻辑, 以 setup 函数作为调度的这种后端编程思想. 其实我个人觉得没啥, 就比较符合大众的编程习惯而已啦. 本篇继续来介绍计算属性 computed 是如何在 api 中应用的.

computed 的简单使用

<!DOCTYPE html>
<html lang="en">

<head>
<title>computed</title>
<script src="https://unpkg.com/vue@3"></script>
</head>

<body>
<div id="root"></div>
<script>
// computed 计算属性
const app = Vue.createApp({
setup () {
const { ref, computed } = Vue
const count = ref(0)
const dealClick = () => {
count.value += 1
}

// 其实就是定义一个变量, 给它写上逻辑, 自动计算啦
const countAddFive = computed(() => {
return count.value + 5
})

return { count, countAddFive, dealClick }
},
template: `
<div>
<span @click="dealClick">{{count}}</span> -- {{countAddFive}}
</div>
`,
})

const vm = app.mount('#root')

</script>
</body>

</html>

对简单的 computed 的使用流程则是:

  • 从 vue 中引入 computed
  • 定义一个属性变量 = computed(( ) => { 逻辑 })
  • return 该属性变量即可在 template 中使用啦

更复杂的一些用法, 则是能在 computed 的函数中去传入对象的操作, 如设置 get 和 set 的方法.

<!DOCTYPE html>
<html lang="en">

<head>
<title>computed</title>
<script src="https://unpkg.com/vue@3"></script>
</head>

<body>
<div id="root"></div>
<script>
// computed 计算属性
const app = Vue.createApp({
setup () {
const { ref, computed } = Vue
const count = ref(0)
const dealClick = () => {
count.value += 1
}

// 传入一个对象, 编写 get 和 set 的方法
let countAddFive = computed({
get: () => {
return count.value + 5
},

set: () => {
count.value = 666
}
})

setTimeout(() => {
countAddFive.value = 111
}, 3000);

return { count, countAddFive, dealClick }
},
template: `
<div>
<span @click="dealClick">{{count}}</span> -- {{countAddFive}}
</div>
`,
})

const vm = app.mount('#root')

</script>
</body>

</html>

set 方法当值发生变化时候就会自动调用, 然后 get 方法则再进行处理啦. 总之在这个 computed 的使用, 在通过 api 的方式也是非常简单的, 这里就不在探索啦, 咱只要知道它的基本使用流程就行, 在实际应用中还是能用到的, 比如算根据单价和数量, 自动算营业额呀, 算打分呀这些场景, 用 computed 则会让 code 看起来非常清晰和优雅呢.

耐心和恒心, 总会获得回报的.



标签:count,const,computed,value,API,vue3,return,countAddFive
From: https://blog.51cto.com/u_14195239/5871247

相关文章

  • vue3 基础-API-watch 和 watchEffect
    watch和watchEffect前篇对computed属性如何在api中基本使用,即从vue中引入,然后通过直接传函数或者传对象的方式,开箱即用,非常清晰易......
  • posix API的一些理解
    TCPPosixAPI的理解我们主要从TCP连接讲解整个的流程。连接的建立消息的收发连接的断开连接的建立先看一下一个TCPserver的创建过程。#include<stdio.h>#inclu......
  • Vue3 之 ref、shallowRef、customRef
    ref把对象转化为响应式的;shallowRef是浅层响应式数据,即:只有对value整体修改,才能更新到视图层。而修改具体属性值时,不会更新视图。(shallowReactive和shallowRef一样的......
  • Vue3 npm 命令解析
    我们使用npmrunxxx命令,在nodeMoudles里面,vite目录做了一个软链接,然后去软链接下面的目录去找,有3个vite的配置,适应不同的平台做的(unix、windows、mac等)流程:1、本地n......
  • Android 利用和风天气API显示实时天气
    最近开发遇到了这样的需求,需要在APP中显示出实时天气等信息,可以利用和风天气提供的API,免费订阅可以使用一定数量的查询额度,不过也差不多够用了。进入和风天气官网,注册。......
  • vite创建一个vue3项目
    vite创建vue3npmcreatevite@latest回车后输入项目名,选择vue即可安装vue-routernpminstallvue-router@4安装pinia使用pinia代替vuexnpminstallpini......
  • JKD8新的时间API
     packageA_ShangGuiGu.DateTimeTest;importorg.junit.Test;importjava.time.LocalDate;importjava.time.LocalDateTime;importjava.time.LocalTime;publicclassJ......
  • web开发模式和API接口
    1.web开发模式1前后端混合开发---前后端不分离返回html内容2.前后端分离#专注写json格式的数据xml页面静态化API接口......
  • LyScriptTools 扩展Script类API手册
    纯脚本类的功能实现都是调用的x64dbg命令,目前由于run_command_exec()命令无法返回参数,故通过中转eax寄存器实现了取值,目前只能取出整数类型的参数。Script类内函数名......
  • 通过 API 快速创建 AlertManager silence
    概述通常我们要silence某个AlertManager的alert时,需要通过UI界面操作,如下图:效率有点低,而且不够自动化,那么是否可以有一种办法快速创建AlertManagersilence呢?......