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

{{ }}和v-on:click

好的,我们来对 Vue 中这两个最常用语法的“可接受内容”进行一个清晰的总结。

它们的核心区别在于职责不同:一个是为了显示,另一个是为了行动

总结对比表

特性插值表达式 {{ }}v-on 事件处理器 (@)
核心职责计算并显示一个值 (Display a Value)当事件发生时执行一个动作 (Execute an Action)
性质只读的 (Read-only)可写的 (Writable)
允许的内容无副作用的 JavaScript 表达式JavaScript 语句 (包括有副作用的表达式语句)
是否允许副作用禁止 ❌ (会收到警告或报错)允许 ✅ (其主要目的就是处理副作用)
典型合法示例- name <br> - count + 1 <br> - isActive ? '是' : '否' <br> - items.slice(0, 5) <br> - formatDate(date)- count++ <br> - awesome = !awesome <br> - items.push('new') <br> - myMethod() <br> - myMethodWithArg(item)
典型非法/不推荐示例- count++ (有副作用) <br> - awesome = !awesome (有副作用) <br> - let a = 1; (语句) <br> - if (x) { ... } (语句)- 过于复杂的逻辑,如:validate(); api.call(); (不推荐,应封装到方法中) <br> - 任何返回值的复杂计算 (无意义,返回值会被忽略)

一个简单的记忆法则:餐厅的比喻

你可以把 Vue 模板想象成一家餐厅:

  • {{ }} 是餐厅的菜单 (Menu)

    • 菜单的职责是描述和展示菜品(显示你的数据状态)。
    • 你只能阅读菜单上的内容 ({{ user.name }}),或者做一些简单的计算来决定看什么 ({{ price * 1.1 }})。
    • 不能在菜单上直接写字来修改你的订单 ({{ orderStatus = '已下单' }} 是绝对禁止的),这是不合规矩的。
  • @click 是餐厅的服务员 (Waiter)

    • 服务员的职责是接收你的指令并执行动作
    • 你可以对他下达各种指令(执行语句),比如:
      • “我的订单状态改成‘已下单’” (@click="orderStatus = '已下单'")。
      • “再给我加个菜” (@click="cart.push('新菜品')")。
      • 或者叫他去执行一套复杂的流程(调用方法):“结账” (@click="checkout()")。

最终结论

总而言之,请记住这个简单的规则:

花括号 {{ }} 只看不做,@ 符号主要负责做。

在模板中保持这种清晰的职责分离,是编写高质量、可维护的 Vue 代码的关键。

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

相关文章:

  • 重学React(二):添加交互
  • 前端单元测试覆盖率工具有哪些,分别有什么优缺点
  • 鸿蒙操作系统核心特性解析:从分布式架构到高效开发的全景技术图谱
  • 深度学习-逻辑回归
  • 异步Websocket构建聊天室
  • 认识kubernetes kubeadm安装k8s
  • 触发器设计美国VPS:优化数据库性能的关键策略
  • 基于连接感知的实时困倦分类图神经网络
  • 云计算中的tap口、bond口、qr口:它们究竟有何玄机?
  • 配置diffusion policy并测试和训练 pushT demo模型
  • 一天两道力扣(1)
  • 【进阶篇-消息队列】——Kafka如何实现事务的
  • Element 的 Message 多个显示时,只显示一个的封装办法
  • LeetCode 317 最短距离选址问题详解(Swift 实现 + BFS 多源遍历)
  • 从 TCP/IP 协议栈角度深入分析网络文件系统 (NFS)
  • MySQL的窗口函数介绍
  • 基于SpringBoot+Vue的酒类仓储管理系统
  • 【网络协议】WebSocket简介
  • 【tensorflow2.6.0 一系列相关报错记录】
  • 关于微前端框架micro,子应用设置--el-primary-color失效的问题
  • Linux性能分析工具
  • Oracle:报错jdbc:oracle:thin:@IP地址:端口:实例名, errorCode 28001, state 99999
  • Spark 4.0的VariantType 类型以及内部存储
  • 打造一个可维护、可复用的前端权限控制方案(含完整Demo)
  • 2025年4月SCI-吕佩尔狐优化算法Rüppell’s fox optimizer-附Matlab免费代码
  • 苹果手机扫描PDF:整理课堂笔记、保存重要文件
  • Intellij IDEA中Maven的使用
  • H3C-备件流程
  • EXCEL 基础函数
  • 论文阅读笔记——Autoregressive Image Generation without Vector Quantization