VUE回顾基础3
1.方法
在vue模板里函数被定义为方法来使用,将函数放在methods对象里,作为一个属性,就可以在模板里使用它
this:在方法中this指向该方法所属的组件,可以使用this方文档data对象的属性和其他方法。this.属性/方法名 即可
2.计算属性
计算属性介于data的对象和方法之间,可以像访问data对象一样访问,但需要函数的方式来定义它
计算属性会被缓存,只会执行一次,之后的每次调用都用的是被缓存的值。只有依赖值发生变化时代码才会被再次执行
这种方式可以确保代码只有在必要的时候执行,时候处理一些资源密集型的工作
计算属性和方法的另一个区别时,计算属性可以设置值,并在设置过程中做一些操作;实现这一点需要将计算属性由函数改为带有get,set的属性对象
- <div id="app">{{numberT}}</div>
- <!-- built files will be auto injected -->
- <script>
- new Vue({
- el:"#app",
- data:{
- number:{
- numbers:[,,]
- }
- },
- computed:{
- numberT:{
- get(){
- return numbers.reduce((sum,val)=>sum+val);
- },
- set(newValue){
- const oldValue = this.numberT;
- const difference = newValue - oldValue;
- this.numbers.push(difference)
- }
- }
- }
- })
- </script>
因业务逻辑需要,在实际项目中利用此方法来处理父级传来的数据,并在set中调用父级函数,来控制弹框的开关
- /* 子组件 */
- //子组件弹框
- <el-dialog :title="listTitle" :visible.sync="listShow">、
- </el-dialog>
- //接收参数
- props: [ "dialogTableVisible",]
- computed: {
- listShow: {
- get() {
- return this.dialogTableVisible;
- },
- set() {
- this.close();
- }
- },
- }
- methods: {
- close() {
- this.$emit("closepop");
- },
- }
- /* 父组件 */
- data(){
- return {
- dialogTableVisible: false,
- }
- }
- methods: {
- closepop() {
- this.dialogTableVisible = false;
- }
- }
3.使用data对象,方法还是计算属性?
data:可以存储字符串,数组,对象等数据。最适合纯粹的数据!
方法:存储函数,并在模板中调用
计算属性:缓存函数,像访问data对象中的属性一样调用。适用于更加复杂的表达式。需要频繁重复使用,基本像是一个data对象的扩展增强版
或许上述不够形象,我们直接看表吧
可读? | 可写? | 可就收参数? | 需要运算? | 有缓存? | |
data对象 | 是 | 是 | 否 | 是 | 无效,无需运算 |
方法 | 是 | 否 | 是 | 是 | 否 |
计算属性 | 是 | 是 | 否 | 是 | 是 |
VUE回顾基础3的更多相关文章
- Vue学习记录第一篇——Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- Vue组件基础用法
前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...
- 一个综合实例讲解vue的基础知识点。
本文通过一个简单的实例来讲解一下vue的基本知识点.通过这个综合实例的讲解,vue的基础知识就会掌握的差不多了. 首先看一下项目的效果:
- Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- Vue组件基础
<!DOCTYPE html><html> <head> <meta charset="utf-8"> ...
- react router @4 和 vue路由 详解(一)vue路由基础和使用
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 1.vue路由基础和使用 a.大概目录 我这里建了一个router文件夹,文件夹下有in ...
- Vue入门基础(火柴)
前言 由于个人十分欣赏博友——小火柴的蓝色理想,他的博文我看了大多数,觉得十分的精彩,然而很多都是看后即忘.我想除了没有经常动手敲代码,更可能是在看的时候忽略了很多细节,因此打算把他的博文通通给“抄袭 ...
- vue组件基础之父子传值
可以看出数据从后端获取过来,最外层的父组件接收数据,子组件不能直接获取,必须由父组件传递,此时使用props,并且父组件的值更新后,子组件的值也会随之更新,但是反过来通过修改子组件props来影响父组 ...
- vue入门基础知识点测试
vue入门基础知识点测试 1.文本(值绑定){{var}}----控制<div></div>的值显示当前时间,且1秒更新一次.(可查阅 setinterval 函数,时间Dat ...
随机推荐
- Siam R-CNN: Visual Tracking by Re-Detection
Siam R-CNN: Visual Tracking by Re-Detection 2019-12-02 22:21:48 Paper:https://128.84.21.199/abs/1911 ...
- 批量实现ssh免密登录
本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们 ...
- ios兼容性收集整理
1. ios系统兼input输入框光标问题 异常现象:苹果手机文本输入框样式异常——光标聚焦到文本框,光标高度充满文本框,输入内容,光标高度为文本框上边框到输入内容底部: 光标聚焦: 输入内容: 异常 ...
- 用selenium自动加载浏览器下载图片
上一篇用requests这个库进行图片的批量下载,只所以可以这样做,是因为豆瓣提供的XHR的接口API,而且接口返回的数据类型为json格式,所以使用起来非常的方便,但是有时候我们需要分析html格式 ...
- return & exit . in GO
return结束当前函数,并返回指定值runtime.Goexit结束当前goroutine,其他的goroutine不受影响,主程序也一样继续运行os.Exit会结束当前程序,不管你三七二十一
- Unable to create application 异常
这个错误是空指针,但你怎么去找就是找不到为什么会空指针 这时,你要去检查Application 中是否有重写的方法例如这个 @Override protected void attachBaseC ...
- locale区域语言设置
查看当前配置 # 默认配置[maintain@localhost:~]$ locale LANG=zh_CN.utf8 LC_CTYPE="zh_CN.utf8" LC_NUMER ...
- springboot自定义类@Resource注入为null的问题
最近用spring boot ,在controller外面即自定义的类里报错 java.lang.NullPointerException debug了下发现@Resource注入为null 查了不少 ...
- [源码]Python调用C# DLL例子(Python与.Net交互)
K8Cscan C# DLL例子代码 namespace CscanDLL { public class scan { public static string run(string ip) { if ...
- cisco ap客户端无规律掉线
设备 cisco air-ct2504-50-k9 cisco air-ap1832I-H-k9 首先根据这个帖子 https://community.cisco.com/t5/other-wirel ...