| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 04.Vue计算属性和监听器 -> 正文阅读 |
|
[JavaScript知识库]04.Vue计算属性和监听器 |
1.computed计算属性 1,计算属性类似于methods选项中的定义函数 2,计算属性会进行缓存,只在相关响应式依赖发生改变时它们才会重新求值。 ? ? ? 函数 每次都会执行函数体进行计算。 实例:接下来我们来实现输入数学与英语分数,采用methods与computed分别计算出总分 1.在data中创建数学分数和英语分数? ? ? ? ?
2.然后我们双下个绑定数学和英语的成绩
3.然后我们再测试一下总分,这个总分是函数的,我们用v-moudle绑定一个函数,这个函数是将数学和英语成绩相加,我们先看一下div中总得分的代码
我们把这个函数名叫做zongscore()注意一定要加小括号 这个zongscore函数应写在methods中
为什么mathscore和englishscore后面要加-0呢? 是为了激活其计算属性,若不写-0当我在数学成绩或英语成绩后面多填一个零时,总分也会多一个零。就成了字符串拼接 效果图 ?4.然后我们再来测试一下计算属性的总得分,这个总分是计算属性的,我们也是用v-model绑定一个函数zongscore1,注意这个时候后面就没有小括号了,因为他是属性。
这个zongscore1函数应写在computed中,他跟zongscore在methods中写的是一样的
5.我们给这个Vue起个名字?
在methods中console.log一下? ? ?在computed中console.log一下?
这样的目的是什么? 有便于观察当成绩发生变化时,两个函数分别被调用了几次 初始状态图 我们将数学成绩加一个0,来观察函数各输出几次 ? 打开控制界面可看出函数被调用2次(数学和英语各调用一次), 而计算属性只调用一次这是为什么呢? 是因为计算属性有缓存英语成绩就被缓存下来了,其实数学成绩也被缓存下来了但因为我改变了数学成绩。所以就调用了数学成绩一次 效果图 ? 6.我们在控制面板分别输入 vm.zongscore()和vm.zongscore1,可以看出函数被调用了,而计算属性没被调用直接输出了890? 这更充分说明了计算属性有缓存 状态图 ?7.还有一个问题就是我在得分(函数)的输入框中加入一个零,它会直接报错,我们在计算属性的输入框里再加一个零也会报错.可他俩的报错不同 如下图 ?可以看出计算属性computed默认属性带有get方法没有set方法 8.这里我们再给计算属性写一个双向的,再创建一个叫zongscore2的函数
然后把zongscore2也写在computed中,这里注意他和zongscore1不同,1是函数而zongscore2是对象所以是zongscore2:{} 案例源码
2.watch监听器 我们接着上面的案例写(要求:如果数学分数发生改变时,zongscore3则做出相应变化) 1.在div中写入总得分监听器
2.监听器watch和methods,computed是同一级别的
总案例源码
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:44:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |