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

《Vue3 三》Vue 中的 options 选项

data 选项:

data 选项:属性值必须是一个函数;返回值是一个对象,返回的对象会被 Vue 的响应式系统劫持,之后对该对象的任何访问或者修改都会在劫持中被处理。

在 Vue2.x 中,data 的属性值可以是一个函数,也可以是一个对象;但是在 Vue3.x 中,data 的属性值必须是一个函数,否则会在浏览器中直接报错。

<div id="app"><h1>当前数字:{{count}}</h1>
</div><script>
const app = Vue.createApp({// 必须是一个函数,返回一个对象data() {return {count: 0,}},
})
app.mount('#app')

methods 选项:

methods 选项:属性值是一个对象;在这个对象中可以定义方法,这些方法可以被绑定到模板中,在这些方法中可以使用 this 关键字直接访问到 data 中返回的对象的属性。

methods 中的函数不能使用箭头函数,因为箭头函数没有自己的作用域,会继承上级的作用域,this 将不会按照期望指向组件实例。

<div id="app"><h1>当前数字:{{count}}</h1><button @click="handleAdd">+1</button><button @click="handleDelete">-1</button><button @click="handleError">出错了~</button>
</div><script>
const app = Vue.createApp({data() {return {count: 0,}},methods: {// 这么写是正确的handleAdd: function() {this.count++;},// 这么写是正确的handleDelete() {this.count--;},// 这么写是错误的。箭头函数没有自己的作用域,会继承上级的作用域,this 将不会按照期望指向组件实例。上一级是 methods,是一个对象,没有作用域;再上一级是 Vue.createApp 中的对象,也没有作用域;再上一级就是全局作用域 window 了。 handleError: () => {console.log(this)},}
})
app.mount('#app')
</script>

methods 函数中的 this:

Vue 源码中其实是对 methods 中的所有函数进行遍历,通过 bind 绑定 this,this 就是当前实例的代理对象。
在这里插入图片描述

http://www.lryc.cn/news/508925.html

相关文章:

  • Elasticsearch 国产化替代方案之一 Easysearch 的介绍与部署指南
  • Pytorch | 从零构建EfficientNet对CIFAR10进行分类
  • Python超能力:高级技巧让你的代码飞起来
  • 熊军出席ACDU·中国行南京站,详解SQL管理之道
  • FPGA实现MIPI转FPD-Link车载同轴视频传输方案,基于IMX327+FPD953架构,提供工程源码和技术支持
  • vue3动态绑定图片和使用阿里巴巴矢量图
  • ‘vite‘ 不是内部或外部命令,也不是可运行的程序
  • 2024年12月一区SCI-加权平均优化算法Weighted average algorithm-附Matlab免费代码
  • 如何获取 ABAP 内表中的重复项
  • 编译笔记:vs 中 正在从以下位置***加载符号 C# 中捕获C/C++抛出的异常
  • ChatGPT与Postman协作完成接口测试(二)
  • flask-admin modelview 中重写get_query函数
  • 【python 逆向分析某有道翻译】分析有道翻译公开的密文内容,webpack类型,全程扣代码,最后实现接口调用翻译,仅供学习参考
  • tensorflow_probability与tensorflow版本依赖关系
  • 构建安全的用户认证系统:PHP实现
  • VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比
  • 天融信网络架构安全实践
  • 腾讯云云开发 Copilot具有以下优势
  • electron-vite【实战系列教程】
  • 【微信小程序】微信小程序中的异步函数是如何实现同步功能的
  • 贪心算法(三)
  • uniApp打包H5发布到服务器(docker)
  • 【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
  • 使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
  • 使用scrapy框架爬取微博热搜榜
  • 瑞吉外卖项目学习笔记(七)新增菜品、(批量)删除菜品
  • es快速扫描
  • 前端对页面数据进行缓存
  • leetCode322.零钱兑换
  • jsp-servlet开发