谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装

news2024/12/27 13:24:50

文章目录

  • 一,v-model
    • 1,双向绑定
    • 2,vue的双向绑定
      • 2.1 html元素上使用指令v-model
      • 2.2 model中声明对应属性
      • 2.3,验证
        • view绑定model
        • model绑定view
    • 完整代码
  • 二,v-on
    • 1,指令简介
    • 2,在button按钮中添加v-on:click
    • 完整代码
  • 三,2个插件
    • 1, Vscode插件Vue 2 Snippets
    • 2,chrome插件Vue-devtoos

这一节的主要内容是学习Vue的2个指令:

  • v-model,双向绑定
  • v-on,事件绑定

一,v-model

1,双向绑定

所谓的双向绑定指的是:

  • 视图绑定model(数据),即model数据的变化后,view会自动刷新
  • model绑定视图,页面上的数据变化后,model对应的数据会自动更新

Vue 的双向绑定是一种数据绑定机制,允许视图(即用户界面)与应用状态(即数据模型)之间的自动同步。

这种机制使得开发者无需手动去追踪和管理视图与数据模型之间的同步,从而大大简化了开发流程。

Vue 实现双向绑定的核心是 v-model 指令。v-model 是一个语法糖,它实际上是一个语法上的便利抽象,结合了数据绑定和事件监听器的功能,使得开发者可以轻松地在表单控件元素(如 input, select, textarea 等)上创建双向数据绑定。

2,vue的双向绑定

2.1 html元素上使用指令v-model

在index.html中添加input元素。

<input v-model="num"/>

v-model 是 Vue.js 提供的一个指令,用于在表单控件(如 input、textarea 和 select 元素)与 Vue 实例中的数据属性之间创建双向数据绑定。

2.2 model中声明对应属性

在view对象中声明num属性。

let vm = new Vue({
   el: '#app',
   data: {
      name: "张二强",
      num: 100
   }
})

2.3,验证

view绑定model

打开网页,首先是输入框中会显示数字100,这是因为view绑定了model,model中的数据会被渲染到view。
在这里插入图片描述

model绑定view

当我们在输入框中输入120时,model中的数据也会更新为120。

在这里插入图片描述

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <input v-model="num"/>
        <h1>{{name}},非常帅,有{{num}}</h1>
    </div>
    <script src="./node_modules/vue/dist/vue.js"></script>
    <script>
      let vm = new Vue({
        el: '#app',
        data: {
          name: "张二强",
          num: 100
        }
      })
    </script>
</body>
</html>

二,v-on

1,指令简介

v-on 是 Vue.js 中的一个指令,用于在 DOM 元素上监听用户事件,并在事件触发时执行相应的 JavaScript 函数。它提供了一种将 Vue 实例中的方法与 DOM 事件关联起来的方式,使得你可以轻松地对用户交互做出响应。

v-on 指令的基本语法是在元素上添加 v-on:event-name=“method”,其中 event-name 是你要监听的 DOM 事件类型(如 click、mouseover、keydown 等),method 则是 Vue 实例中定义的方法名。

2,在button按钮中添加v-on:click

在index.html中增加一个button按钮。

<button v-on:click="num++" >点赞</button>

注意,这个按钮使用了v-on:click指令,指令中是js代码,当按钮被点击后,执行这段代码,model中的num自增。

在这里插入图片描述
当然,在v-on中也可以调用model中的方法。

<button v-on:click="cancel" >取消点赞</button>

如上,在一个button中使用v-on:click指令注册了click事件,这个事件调用了cancel方法,其在vue对象中的声明如下。

let vm = new Vue({
        el: '#app',
        data: {
          name: "张二强",
          num: 100
        },
        methods:{
            cancel(){
                this.num--;
            }
        }
      })

注意,方法都要声明在methods下。

在这里插入图片描述

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <input v-model="num"/>
        <button v-on:click="num++" >点赞</button>
        <button v-on:click="cancel" >取消点赞</button>
        <h1>{{name}},非常帅,有{{num}}</h1>
    </div>
    <script src="./node_modules/vue/dist/vue.js"></script>
    <script>
      let vm = new Vue({
        el: '#app',
        data: {
          name: "张二强",
          num: 100
        },
        methods:{
            cancel(){
                this.num--;
            }
        }
      })
    </script>
</body>
</html>

三,2个插件

1, Vscode插件Vue 2 Snippets

在这里插入图片描述
Vue 2 Snippets 主要是指在开发 Vue.js 2 应用时使用的代码片段或模板。在代码编辑器或 IDE 中,Snippets 可以帮助开发者快速插入常用的代码结构,减少重复的手动编码工作,提高开发效率。这些 Snippets 通常包含了 Vue.js 组件的基本结构、指令、计算属性、事件处理器等常见的代码模式。

使用 Vue 2 Snippets 的主要作用包括:

  1. 加速开发

    • 快速生成预定义的代码块,减少键盘输入,节省时间。
  2. 代码标准化

    • 保证项目中代码风格的一致性,遵循最佳实践。
  3. 减少错误

    • 自动插入正确的语法和结构,减少因手写代码而引入的错误。
  4. 易于学习

    • 对于初学者来说,Snippets 可以作为学习 Vue.js 结构和语法的参考。
  5. 提升团队协作

    • 当团队成员都使用相同的 Snippets 时,代码更加统一,便于理解和维护。
  6. 智能提示和补全

    • 许多现代编辑器和 IDE 都支持基于 Snippets 的智能代码补全功能。

例如,在 Visual Studio Code 中,你可以安装专门针对 Vue.js 的扩展插件,如 “Vetur”,它提供了大量的 Vue 2 Snippets。当你开始输入某个触发词时,如 “v-comp”,然后按 Tab 键,就可以自动生成一个 Vue.js 组件的完整模板。

<template>
  <div class="name-of-component">
    <!-- Your component's template goes here -->
  </div>
</template>

<script>
export default {
  name: 'NameOfComponent',
  props: [],
  data() {
    return {
      // your component's data properties go here
    };
  },
  computed: {},
  methods: {},
  created() {},
  mounted() {},
};
</script>

<style scoped>
/* Your component's styles go here */
</style>

这样的 Snippets 不仅可以帮助你快速搭建组件框架,还可以让你专注于逻辑实现,而不是花费时间在基础结构的编写上。

2,chrome插件Vue-devtoos

F12打开调试界面,在命令行控制台可以看到安装Vue-devtools插件的提示。

在这里插入图片描述

Vue Devtools 是一个专为 Vue.js 应用程序设计的浏览器扩展工具,它提供了深入的调试功能和可视化界面,帮助开发者更有效地理解和调试 Vue.js 应用。以下是 Vue Devtools 的一些主要作用:

  1. 组件树视图

    • 显示应用程序中组件的层次结构,便于理解组件之间的父子关系。
    • 高亮显示当前激活的组件,帮助定位和跟踪用户交互。
  2. 组件实例检查

    • 允许查看和修改组件的状态,包括 datacomputedpropsmethods 等。
    • 可以查看组件的模板、样式和源代码,以及它们的依赖项。
  3. 时间旅行调试

    • 记录组件的状态快照,允许开发者回溯到之前的状态,查看状态变化历史。
    • 支持“跳转”到特定的时间点,重现问题发生时的环境。
  4. 性能监控

    • 监测每个组件的渲染时间和渲染次数,帮助识别性能瓶颈。
    • 提供性能分析工具,如 Profiler,用于详细分析渲染性能。
  5. 事件监听

    • 显示组件上触发的所有事件,包括自定义事件和内置事件。
    • 可以监听特定事件,观察事件流和事件处理器的行为。
  6. 调试工具

    • 提供断点调试能力,允许在特定组件或方法上调试。
    • 集成了 Chrome 开发者工具的其他功能,如网络请求监控、CSS 编辑等。
  7. 版本兼容性

    • 支持多种 Vue.js 版本,包括 Vue 2 和 Vue 3。
    • 提供了版本切换功能,确保工具与应用版本匹配。
  8. 社区支持与更新

    • 定期更新以修复 bug 和改进功能,保持与最新 Vue.js 核心库的兼容性。
    • 社区活跃,有丰富的文档和教程资源。

总之,Vue Devtools 是 Vue.js 开发者不可或缺的工具之一,它极大地提高了开发效率和调试体验,是学习和优化 Vue.js 应用的重要辅助手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1940460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】超参数选择:解锁机器学习模型潜力的关键

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 超参数选择&#xff1a;解锁机器学习模型潜力的关键引言什么是超参数&#xff1…

【云原生】Kubernetes中的DaemonSet介绍、原理、用法及实战应用案例分析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

谷歌账号忘记密码怎么办?这样找回——但是90%都是找不回的。关于密码有三个建议

Google账号忘记密码怎么办&#xff1f;谷歌账号的密码不记得了怎么办&#xff1f;如何找回谷歌账号的密码&#xff1f;谷歌账号记得账号名、辅助邮箱&#xff0c;但是密码不记得了还有办法吗... 在GG账号服务给朋友们提供服务的过程中&#xff0c;时不时会遇到这样的问题&…

Linux/Windows 系统分区

1. Windows 系统 1.1 系统分区 系统分区也叫做磁盘分区&#xff0c;即分盘&#xff1b; 举个例子&#xff0c;好比家里有一个大柜子&#xff0c;把衣服&#xff0c;鞋子&#xff0c;袜子都放在里面&#xff0c;由于没有隔断&#xff0c;找的时候非常麻烦&#xff0c;找是能找…

LCD、LED与OLED的区别

在现代显示技术中&#xff0c;LCD、LED和OLED是三种常见的显示技术&#xff0c;广泛应用于笔记本电脑、手机、电视等设备。每种技术都有其独特的优势和局限性&#xff0c;了解它们之间的差异对于选择合适的显示设备至关重要。本文将详细探讨这三种显示技术的特点及其在笔记本上…

2024大数据职业技能竞赛(国赛)模块E,子任务九:用散点图展示省份平均消费额

2024大数据职业技能竞赛&#xff08;国赛&#xff09;模块E数据展现题解 编写Vue工程代码&#xff0c;根据接口&#xff0c;用基础散点图展示2020年最高10个省份平均消费额&#xff08;四舍五入保留两位小数&#xff09;&#xff0c;同时将用于图表展示的数据结构在浏览器的co…

rk3568 OpenHarmony4.1 Launcher定制开发—桌面壁纸替换

Launcher 作为系统人机交互的首要入口&#xff0c;提供应用图标的显示、点击启动、卸载应用&#xff0c;并提供桌面布局设置以及最近任务管理等功能。本文将介绍如何使用Deveco Studio进行单独launcher定制开发、然后编译并下载到开发板&#xff0c;以通过Launcher修改桌面背景…

《无线互联科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《无线互联科技》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《无线互联科技》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;江苏省科学技术厅 主办单位&#xff1a…

生成式 AI 的发展方向,是 Chat 也是 Agent,双向奔赴

随着生成式AI技术的不断进步&#xff0c;关于其未来发展方向的讨论也愈发激烈。究竟生成式AI的未来是在对话系统&#xff08;Chat&#xff09;中展现智慧&#xff0c;还是在自主代理&#xff08;Agent&#xff09;中体现能力&#xff1f; 一、整体介绍 生成式AI在对话系统&…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(七)-广播远程识别码(Broadcast Remote ID)

目录 引言 5.5 广播远程识别码&#xff08;Broadcast Remote ID&#xff09; 5.5.1 使用PC5的广播远程识别码 5.5.2 使用MBS的广播远程识别码 引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及…

PyTorch深度学习实战——使用深度Q学习进行Pong游戏

PyTorch深度学习实战——使用深度Q学习进行Pong游戏 0. 前言1. 结合固定目标网络的深度 Q 学习模型1.1 模型输入1.2 模型策略 2. 实现深度 Q 学习进行 Pong 游戏相关链接 0. 前言 我们已经学习了如何利用深度 Q 学习来进行 Gym 中的 CartPole 游戏。在本节中&#xff0c;我们将…

LeetCode 热题 HOT 100 (004/100)【宇宙最简单版】

【单调栈】No. 0739 每日温度 【中等】&#x1f449;力扣对应题目指路 希望对你有帮助呀&#xff01;&#xff01;&#x1f49c;&#x1f49c; 如有更好理解的思路&#xff0c;欢迎大家留言补充 ~ 一起加油叭 &#x1f4a6; 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&#…

python-多任务编程

2. 多任务编程 2.1 多任务概述 多任务 即操作系统中可以同时运行多个任务。比如我们可以同时挂着qq&#xff0c;听音乐&#xff0c;同时上网浏览网页。这是我们看得到的任务&#xff0c;在系统中还有很多系统任务在执行,现在的操作系统基本都是多任务操作系统&#xff0c;具备…

Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora是一款基于Markdown语法的轻量级文本编辑器&#xff0c;它的主要目标是为用户提供一个简洁、高效的写作环境。以下是Typora的一些主要特点和功能&#xff1a; 实时预览&#xff1a;Typora支持实时预览功能&#xff0…

MySQL 查询 limit 100000000, 10 和 limit 10 速度一样快吗?

MySQL 查询 limit 100000000, 10 和 limit 10 速度一样快吗&#xff1f; MySQL内部分为server层和存储引擎层。一般情况下存储引擎都用innodb。 server层有很多模块&#xff0c;其中需要关注的是执行器是用于跟存储引擎打交道的组件。 执行器可以通过调用存储引擎提供的接口&…

order by 索引优化

根据 add_time 顺序扫描数据&#xff0c;然后根据 where 过滤数据&#xff0c;order_status4的数据很稀疏&#xff0c;会导致扫描很多数据 add_time 0 表达式使得无法使用add_time索引&#xff0c;则会先使用order_status进行过滤数据&#xff0c;然后对add_time进行排序&…

【帆软报表开发】图表设计入门示例

效果展示 我们希望报表样式最终展示如图下所示 操作步骤 新建模板 新建一张普通报表 新建数据库查询 输入sql语句select * from 销量&#xff0c;点击确定 插入图表 合并一片单元格 插入图表 选择柱形图&#xff0c;点击确定 设计柱形图 图表类型 如下图&#xff0c;选中…

怎样录制游戏视频?一站式教你解决

在当今数字化的时代&#xff0c;录制视频已经成为了众多游戏爱好者和职业选手必不可少的技能。录制视频不仅可以帮助玩家保存游戏的精彩瞬间&#xff0c;还能用于制作游戏教程、宣传视频等。因此&#xff0c;了解怎样录制游戏视频是非常重要的。本文将详细介绍两种流行的录制视…

【无人机】测绘行业新时代

【无人机】测绘行业新时代 无人机测绘主要指的是依托无人机系统为主要的信息接收平台&#xff0c;通过无人机机载遥感信息采集和处理设备&#xff0c;将最终所获取的遥感信息传输到测绘中心&#xff0c;经过数据技术处理&#xff0c;形成立体化的数字模型&#xff0c;以满足行…