vue基础入门

16 篇文章 4 订阅
订阅专栏

什么是 vue

  1. 构建用户界面
    • 用 vue 往 html 页面中填充数据,非常的方便
  2. 框架
    • 框架是一套现成的解决方案,程序员只能遵守框架的规范,去编写自己的业务功能!
    • 要学习 vue,就是在学习 vue 框架中规定的用法!
    • vue 的指令、组件(是对 UI 结构的复用)、路由、Vuex、vue 组件库
    • 只有把上面老师罗列的内容掌握以后,才有开发 vue 项目的能力!

vue 的两个特性

  1. 数据驱动视图:

    • 数据的变化会驱动视图自动更新
    • 好处:程序员只管把数据维护好, vue 会监听数据的变化,自动渲染页面的结构,不需要手动操作dom元素!
    • 注意:是单向的数据绑定

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcZiksJj-1654684893039)(image-20220601194759741.png)]

  2. 双向数据绑定:

    在网页中,form 表单负责采集数据,Ajax 负责提交数据

    • js 数据的变化,会被自动渲染到页面上
    • 页面上表单采集的数据发生变化的时候,会被 vue 自动获取到,并更新到 js 数据中

在这里插入图片描述

注意:数据驱动视图和双向数据绑定的底层原理是 MVVM(Mode 数据源、View 视图、ViewModel 就是 vue 的实例)

vue的初体验

基本代码与 MVVM 的对应关系

在这里插入图片描述

vue 的调试工具
1. 安装 vue-devtools 调试工具

​ vue 官方提供的 vue-devtools 调试工具,能够方便开发者对 vue 项目进行调试与开发。

Chrome 浏览器在线安装 vue-devtools :

​ https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd

2. 配置 Chrome 浏览器中的 vue-devtools

​ 点击 Chrome 浏览器右上角的 :按钮,选择更多工具 -> 扩展程序 -> Vue.js devtools 详细信息,并勾选如下 的两个选项:

在这里插入图片描述

​ 样子长这样

在这里插入图片描述

vue 指令

1. 内容渲染指令
  1. v-text 指令的缺点:会覆盖元素内部原有的内容!
  2. {{ }} 插值表达式:在实际开发中用的最多,只是内容的占位符,不会覆盖原有的内容!(只能用在内容节点)
  3. v-html 指令的作用:可以把带有标签的字符串,渲染成真正的 HTML 内容!
2. 属性绑定指令

注意:插值表达式只能用在元素的内容节点中,不能用在元素的属性节点中!

  • 在 vue 中,可以使用 v-bind: 指令,为元素的属性动态绑定值;

    <input type="text" v-bind:placeholder="tips">
    
    
  • 简写是英文的 :

  • 在使用 v-bind 属性绑定期间,如果绑定内容需要进行动态拼接,则字符串的外面应该包裹单引号,例如:

    <div :title="'box' + index">这是一个 div</div>
    

    注意:v-bind 后面表示一个js表达式

    在这里插入图片描述

3. 事件绑定
  1. v-on: 简写是 @

    原生 DOM 对象有onclick、oninput、onkeyup等原生事件,替换为@click、@input、@keyup

  2. 语法格式为:

    <button @click="add">+1</button>
    
    methods: {
       add() {
    			// 如果在方法中要修改 data 中的数据,可以通过 this 访问到
    			this.count += 1
       }
    }
    

    如果方法只有一行代码可以简写,比如上面第一行改成 @click=“count+=1” 也可以实现加一

    打扫

    // 创建 Vue 的实例对象
    const vm = new Vue({
    //--------------分割线-----------
    methods:{
    	add() {
    		console.log(vm === this)
    	}
    }
    

    结果是为true

  3. $event 的应用场景:如果默认的事件对象 e 被覆盖了,则可以手动传递一个 $event。例如:

    <!-- vue 提供了内置变量,名字叫 $event(固定写法),它就是原生 DOM 的事件对象 e -->
    <button @click="add(3, $event)"></button>
    
    methods: {
       add(n, e) {
    			// 如果在方法中要修改 data 中的数据,可以通过 this 访问到
    			this.count += 1
       }
    }
    
  4. 事件修饰符:

    • .prevent 阻止默认行为

      <a @click.prevent="xxx">链接</a>
      
    • .stop 阻止事件冒泡

      <button @click.stop="xxx">按钮</button>
      

      了解:.once 绑定的事件只触发1次

  5. 按键修饰符

    <input @keyup.enter="submit">
    <input @keyup.esc="clearInput">
    
    
4. v-model 指令
  1. input 输入框

    • type=“radio”
    • type=“checkbox”
    • type=“xxxx”
  2. textarea

  3. select 示例如下

    <select v-model="city">
    	<option value="">请选择城市</option>
        <option value="1">北京</option>
        <option value="2">上海</option>
        <option value="2">广州</option>
    </select>
    
    data: {
    	city: ''
    }
    
    

在这里插入图片描述

​ .lazy 就是在输入框输入时,不会输入一个值就同步一个值,失去焦点才会同步

5. 条件渲染指令
  1. v-show 的原理是:动态为元素添加或移除 display: none 样式,来实现元素的显示和隐藏
    • 如果要频繁的切换元素的显示状态,用 v-show 性能会更好
  2. v-if 的原理是:每次动态创建或移除元素,实现元素的显示和隐藏
    • 如果刚进入页面的时候,某些元素默认不需要被展示,而且后期这个元素很可能也不需要被展示出来,此时 v-if 性能更好

在实际开发中,绝大多数情况,不用考虑性能问题,直接使用 v-if 就好了!!!

v-if 指令在使用的时候,有两种方式:

  1. 直接给定一个布尔值 true 或 false

    <p v-if="true">被 v-if 控制的元素</p>
    
  2. 给 v-if 提供一个判断条件,根据判断的结果是 true 或 false,来控制元素的显示和隐藏

    <p v-if="type === 'A'">良好</p>
    

v-if 可以单独使用,或配合 v-else 指令一起使用,还可以 v-if v-else-if v-else

6. 列表渲染指令

v-for

在这里插入图片描述

  • list是待循环的数组,item是被循环的每一项

v-for 中的索引,支持一个可选的第二个参数,即当前项的索引。

<li v-for="(item, index) in list">索引是:{{index}},值:{{item}}</li>

注意:v-for 中的 item 项和 index 索引都是形参,可以重命名

使用 key 维护列表状态

加 key 属性的好处:

  1. 正确维护列表的状态
  2. 复用现有的 DOM 元素,提升渲染的性能

key 的注意事项

  • key 的值只能是字符串或数字类型
  • key 的值必须具有唯一性(即:key的值不能重复)
  • 建议把数据项 id 属性的值作为 key 的值(因为 id 属性的值具有唯一性)
  • 使用 index 的值当作 key 的值没有任何意义(因为 index 的值不具有唯一性)
  • 建议使用 v-for 指令时一定要指定 key 的值(既提升性能、又防止列表状态紊乱)

总结

  1. 能够知道 vue 的基本使用步骤
  • 导入 vue.js 文件
  • new Vue() 构造函数,得到 vm 实例对象
  • 声明 el 和 data 数据节点
  • MVVM 的对应关系
  1. 掌握 vue 中常见指令的基本用法
    • 插值表达式、v-bind、v-on、v-show、v-if 和 v-else
    • v-for 和 :key、v-model

指令时一定要指定 key 的值(既提升性能、又防止列表状态紊乱)

总结

  1. 能够知道 vue 的基本使用步骤
  • 导入 vue.js 文件
  • new Vue() 构造函数,得到 vm 实例对象
  • 声明 el 和 data 数据节点
  • MVVM 的对应关系
  1. 掌握 vue 中常见指令的基本用法
    • 插值表达式、v-bind、v-on、v-show、v-if 和 v-else
    • v-for 和 :key、v-model

参考资料

Vue - 快速入门,这一套就够了!(Vue core + 案例 + 效果演示)
CYK_byte的博客
10-16 8110
前置条件:掌握 HTML、CSS、JavaScript、AJAX.工具:VsCode.插件:Live Server(浏览器实时预览)Ps:建议都提前下载下来,没网的时候也能用.
初识Vue
Floatwor青舟的博客
10-30 1289
目录为什么学习流行框架框架和库的区别Vue.js简介安装第一个简单实例一些常用指令跑马灯小案例 为什么学习流行框架 企业中为了提高开发效率:在企业中,时间就是效率,效率就是金钱。 提高开发效率的发展历史:原生JS–>Jquery之类的类库–>前端模板引擎–>Angular.js/Vue.js等(能够帮助我们减少不必要的DOM操作,提高渲染效率。通过框架提供的指令,我们前端程序员只需要关心数据的业务逻辑,不再关心DOM是如何渲染的了) 在Vue中,一个核心的概念就是,让用户不再操作DOM元
Vue的学习 —— <vue的开发环境> “6000字超详细”
最新发布
2301_78038072的博客
05-13 890
在开始编写Vue应用程序之前,搭建一个合适的开发环境至关重要。本章节将详细指导如何设置和配置Vue的开发环境,确保有一个稳定、高效的工作空间。从安装Node.js开始,因为Vue.js项目需要Node.js来执行构建和打包过程。然后,我们会介绍如何使用Vue CLI(命令行界面)以及Vite创建新的Vue项目,包括一些常见的选项和配置。在创建项目之后,继续探索如何安装和管理项目依赖,以及如何设置开发服务器以便实时预览应用程序。
Vue.js基础-07-绑定事件(v-on)-01-点击事件(click
运维玄德公
05-31 6196
1. 点击事件参数(click) 1.1 基本使用 1.2 绑定一个方法 1.3 冒泡事件 说明 示例 2. 点击事件修饰符 2.1 .stop (阻止冒泡) 使用说明 使用示例 2.2 capture (捕获冒泡) 使用说明 使用示例 2.3 .self (只监听触发该元素的事件) 使用说明 使用示例 2.4 once (事件只触发一次) 使用说明 使用示例 2.5 鼠标的修饰符......
Vue】快速入门
你不来,再美的天地,都狼藉 ~
03-24 1564
一文带你从HelloWorld认识Vue框架,深刻理解!
前后端分手大师——MVVM 模式
weixin_34130389的博客
11-15 528
阅读目录简而言之组成部分没有什么是一个栗子不能解决的 简而言之 之前对 MVVM 模式一直只是模模糊糊的认识,正所谓没有实践就没有发言权,通过这两年对 Vue 框架的深入学习和项目实践,终于可以装B了有了拨开云雾见月明的感觉。 Model–View–ViewModel(MVVM) 是一个软件架构设计模式,由微软 WPF 和 Silverlight 的架构师 Ken Cooper 和 Ted Pet...
Vue基础入门
06-21
本课程基于ES6来学习Vue的整个API,其中包含Vue基础API、Vue组件化开发、Vue组件通信、官方脚手架Vue-cli3的使用、Vue-devtools的使用 、element-ui第三 方组件的使用、手把手带你打造自己的表单组件、Vue核心插件之...
Vue基础入门源码-03
05-16
该资源是我的vue入门博客的源码
Vue基础入门源码-02
05-11
该资源是我的vue入门博客的源码
vue基础入门源码-01
05-10
该资源是我的vue入门博客的源码
vue基础入门&demo.pdf
02-18
vuevue基础入门&demo.pdfvue基础入门&demo.pdf
Vue--click事件传递参数--方法/教程/实例
热门推荐
IT利刃出鞘的博客
11-08 6万+
原文网址: 简介 说明 本文用示例介绍Vue中事件传参的方法。 Vue的事件用法为:v-on:click="xxx"。可以用@click="xxx"来简写。 本处采用click这个事件进行展示,其他的事件也是一样的。 官网 事件处理 — Vue.js 只传自定义参数 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"&...
vue3 事件处理 @click
一步一个脚印,踏实努力,向着目标前进
08-17 8699
Vue 3中,事件处理可以通过@click指令来实现。@click指令用于监听元素的点击事件,并在触发时执行相应的处理函数。下面是一个简单的示例,展示了如何在Vue 3中处理点击事件:
Vue中@click的常见修饰符
conquer_galaxy的博客
04-07 3665
Vue中@click的常见修饰符
vue click事件_vue指令用法
weixin_39830588的博客
12-12 919
vue指令指令式带有 v- 前缀的特殊特性v-text和v-html都属于指令将数据和dom做关联,当表达式的值改变时,响应式地作用在视图解决大胡子语法闪烁案例[v-cloak] { dispaly: none; }一般把v-cloak绑在Vue实例el属性绑定的节点上<!DOCTYPE html> <html lang="en"> <head> <m...
VUE中@click绑定多个事件
weixin_47198217的博客
05-02 2520
@click="addDialogVisible = false;addUser()" 不同的函数或者表达式用英文分号 ; 隔开即可 script{ export default { methods: { addUser () { this.$refs.addFormRef.validate(async valid => { if (!valid) return //否则添加用户成功! const { data: res } = ..
vue——@click的事件命令以及修饰符
chunchun1230的博客
09-29 1万+
1、@click.stop 阻止事件冒泡 //只弹出“noclick” <div id="app"> <div v-on:click="dodo"> <button v-on:click.stop="doThis">阻止单击事件继续传播</button> </div> </div> <script> var app = new Vue({ el: "#app", .
解决vue中给button按钮添加点击事件,事件不生效问题。
Banality_human_workers的博客
06-15 1万+
解决vue中给button按钮添加点击事件,事件不生效问题。 话不多说,直接切入正题: 我们在开发中是不是经常会遇到给button或者input添加click事件,但是methods中却不走这个事件的问题呢? 我找了很多文档,跟button本身是没有关系的。 话不多说 看代码: <div class="parentbox"> <div class="childbox"> <button @click="addEvent">测试</but
Vue中@click.stop与@click.prevent
weixin_42260975的博客
03-12 3万+
Vue中@click.stop与@click.prevent 一、@click.stop 问题:父元素中添加了一个click事件,其下面的子元素中也添加了click事件,此时,我想点击子元素获取子元素的点击事件,但却触发的是父元素的事件: <view class="footer-box" @click="clickCard"> <view @click="footerClick('喜欢')"><text class="footer-box__item">喜欢</
vue2入门基础教程
09-09
要学习Vue2的入门基础知识,您可以按照以下步骤进行: 1. 下载和安装Vue.js:您可以从官方网站上下载并引入Vue.js脚本文件,或者使用CDN链接进行引用。 2. 创建HTML文件:创建一个HTML文件,其中包含被Vue控制的...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • vue-router 路由超详细教程 35497
  • ref 引用(vue获取DOM元素) 12562
  • 完美解决 flex 实现一行三个,显示多行,左对齐 8722
  • vantweapp使用外部样式类custom-class等 6463
  • vue基础入门 4606

分类专栏

  • 工具 2篇
  • css 1篇
  • 小程序 22篇
  • 前端 10篇
  • vue 16篇
  • uniapp 3篇
  • node 1篇
  • JavaScript 4篇
  • 前端面试 1篇
  • Webpack 1篇

最新评论

  • 小程序解析二维码:jsQR

    码客前端: 我是可以的,拍摄出来的二维码需尽可能的清晰才行,否则很大概率识别不出

  • 小程序解析二维码:jsQR

    @煎饼狗子: 为什么在真机上拍摄二维码 识别不出来

  • vantweapp使用外部样式类custom-class等

    码客前端: 你可以用调试器看看它的类名,用它的类名加属性试试,你看看我倒数第二行的链接

  • vantweapp使用外部样式类custom-class等

    码客前端: 加!important了么

  • vantweapp使用外部样式类custom-class等

    不是你想象的那个样子: 我的外部样式类设置了不生效,请问一下是怎么回事

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 微信小程序实时日志使用,setFilterMsg用法
  • 小程序组件-canvas 拖拽画板【拖拽/缩放】
  • 【微信小程序】canvas开发笔记
2024年8篇
2023年22篇
2022年36篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司崇左模板制作多少钱防城港百度网站优化排名价格甘南百度标王保定网站搭建哪家好兴安盟营销网站多少钱铜仁外贸网站设计公司广元百度网站优化公司张北网站优化按天计费双龙SEO按天扣费多少钱太原百度爱采购报价中山关键词按天计费多少钱丹东关键词排名哪家好抚顺网络推广报价平凉百度竞价包年推广价格驻马店seo报价大芬如何制作网站价格甘孜企业网站制作多少钱泉州百搜标王报价萍乡企业网站建设公司长沙优化价格连云港网站优化排名多少钱南昌如何制作网站多少钱威海网站建设设计价格爱联设计公司网站价格迁安网站搭建价格三明网站seo优化多少钱温州网站优化按天计费阿里网站推广系统报价营口百度网站优化公司潜江SEO按天收费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化