文章目录

  • 前言
    • 1.1 vue介绍
    • 1.2 mvc概念
    • 1.3 创建一个应用实例
    • 1.4 模板
    • 1.5 vue常用指令 directive

前言

提示:仅供学习参考,方便复习和复盘一些知识点,欢迎大佬指正

  • 本文记录一下鄙人从0开始学习Vue3,穿插Vue2的一些知识点(笔记)
  • vue官网中文版:https://cn.vuejs.org/
  • 欢迎大佬指正留言,相互学习

1.1 vue介绍

  • https://cn.vuejs.org/ 官方文档 --> 熟读框架文档
  • vue 是一个渐进式的构建用户界面的 mvvm 的 js 框架
  1. 渐进式:
  • 所有功能都会设计到插件上(中间件)
  • 程序会设计一个拔插式 api 用于使用中间件或者插件
  1. mvvm
  • m 表示数据
  • v 表示视图
  • m 数据改变,视图会自动刷新,通过 vm 控制 vm(vue实例)
  • 注意:
    • 开发框架,无论是vue,react还是小程序,都是数据驱动视图,转换开发思路: 要一切以数据为主,尽量不要去操作dom
  1. 声明式:
  • 直接告知结果,运行过程由框架自己完成

1.2 mvc概念

  • 设计应用程序的一个概念
  • m:model – 处理数据的方法
  • c:controller – 控制 – 核心业务代码
  • views:视图(前端网页)

1.3 创建一个应用实例

代码如下(示例):

// createApp 创建应用实例的方法(固定写法)
const { createApp } = Vue;
// 创建应用实例传入参数对象 config
const app = createApp({/* data函数返回参数就是存储当前实例中的数据,也就是 mvvm 中 m注意:data返回对象属性 挂载到 app这个对象下*/data() {return {msg: '这是vue'}},/* 存储实例上的方法的这里面方法是直接挂载到实例上*/methods: {fn(){this.msg = '修改的值';}}
})
// 将应用程实例渲染到视图上
// #app标签内部受app控制 里面的数据就可以控制 #app内部标签
app.mount('#app')

1.4 模板

  1. 模版插值
  • { { } }
  • 用于输出实例上的数据(只支持简单的字符输出)
  1. 注意:
  • js环境(代码遵循js语法)
  • 变量只会去实例上查找
  • 内部只支持表达式
  • 关于全局变量vue定义了一个白名单(白名单内部的变量才可以在模板中使用)
    • Infinity,undefined,NaN,isFinite,isNaN
      
    • parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent
      
    • Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl
      
    • require
      
  1. 总结:
  • 全局变量中变量要么是一个 值或者方法,调用后返回一个值
  1. 表达式:
  • 任何结果是一个值,代码就是表达式
  • 比如:
    • 各种运算 ==> 1+2 / 2>3
    • 具体值
    • 变量
    • 三目、短路、函数

1.5 vue常用指令 directive

  • 指令:就是数据和标签状态的中间层,将标签的某种状态用过指令绑定到某个数据上,数据改变这个状态自动更新
  1. 语法:
  • <标签 v-指令名='值'><标签>
    
  • 注意: 引号中式js环境,环境同{ { } }环境是一致的
  1. 指令:
  • v-text:不重要,数据渲染到标签文本内容中(可用模板插值写)

  • v-html:渲染富文本

  • v-show:将元素显示和隐藏,和布尔值进行绑定,值为true显示,false时隐藏

  • v-bind:普通属性,将任意一个普通属性变成动态属性,属性还是原来的功能,属性值可以和任意数据进行绑定,可以是任意属性,包括自定义属性

    • <img v-bind:src="">
      
    • 简写是 ==> :属性
    • <img :src="url" alt="" width="300">
      <div :aa="a">11</div>
      <!--url 和 a 解析成变量,去实例上进行查找,对应的src属性和aa属性的值对应实例上数据的值
      -->
      
  • v-model 指令:将表单控件的值与实例上的数据进行双向绑定

    •  <div id="app"><!-- 输入框:密码框文本框 --><input type="text" v-model="msg">{{ msg }}<!-- 单选框 -->性别:<input type="radio" value="男" id="male" v-model="gender"><input type="radio" value="女" id="female" v-model="gender">{{ gender }}<hr><!-- 多选框 -->爱好:<input type="checkbox" value="篮球" id="lanqiu" v-model="hobbies"><input type="checkbox" value="足球" id="zuqiu" v-model="hobbies"><input type="checkbox" value="皮球" id="piqiu" v-model="hobbies">{{ hobbies }}<!-- 将复选框checked属性和布尔值进行绑定 -->同意以上条款<input type="checkbox" v-model="agree" />{{agree?'同意':'不同意'}}</div>
      
    •  const app = Vue.createApp({data() {return {msg: '初始值',gender: '女',hobbies: ['足球'],agree: true}}})app.mount('#app')
      
    • 表单修饰符:用于修饰 v-model 指令
      • .lazy:表单绑定变量的值,值变化即可触发(一般是change事件触发)
      • .trim:自动去除绑定的 value 的开头结尾的空白格
      • .number:自动将value的值过滤成number(解析规则同parseFloat)
  • v-on 指令 :绑定vue的合成事件

    • 合成事件:vue结合原生事件合成的vue事件
    • 语法:v-on:普通事件
    • 注意:
      • 事件触发时机和普通事件是一致的
      • v-on:click
      • v-on:mouseover
    • 简写:@事件
    •    <button v-on:click="事件函数">按钮</button>
      
  1. 合成事件功能
  • 行内直接修改实例上的数据
  • 注意:不推荐使用,会造成视图和js业务混乱,不利于代码维护
  • 绑定事件函数:vue合成的事件函数会去实例上查找
  • 绑定事件函数不加括号
    • <button v-on:click="switchBox">{{isShow?'隐藏':'显示'}}
      </button>
      
    • {methods: {switchBox(){}}
      }
      
  • 绑定事件函数加括号
    • 使用场景:事件触发,需要传递参数时
    • <button v-on:click="switchBox('这是传递的值')">按钮
      </button>
      
    • methods: {switchBox(msg){this.msg = msg;}}
      
  1. vue合成事件对象
  • 不加括号绑定:第一个参数就是事件对象

    • <button @click="fn">按钮</button>
      
    •    {methods: {fn(e) {// e.stopPropagation() e.preventDefault() e.target}}}
      
  • 加括号绑定: 此时实例方法不再是事件函数,相当于事件触发时,这个方法调用
  • 解决方案:vue定义了全局变量 $event 保存该事件触发时的事件对象,通过实参传入即可
    • <button @click="fn(5, $event)">按钮</button>
      
    •  {methods: {fn(n, e) {// e.stopPropagation() e.preventDefault() e.target}}}
      
  1. vue事件修饰符:用于修饰 v-on 指令
  • .stop 取消冒泡
  • .prevent 阻止默认事件
  • .capture 捕获阶段触发
  • .self 元素事件,只能由自己触发,后代无法冒泡触发
  • .once 绑定事件只触发一次

零基础学习Vue3(保姆级教学)相关推荐

  1. python教学视频k_GitHub - y000k/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

  2. java教学入门零基础学习网站,22年最新

    零基础自学JAVA,我首推这个网站只要你有一颗敢于学习的心,当然工欲善其事必先利其器,有了便利的工具,当然做什么都事半功倍.当下程序员就是高收入的代名词之一,说到编程,不得不提一下国外这个网站http ...

  3. 【量化回测必看!】Backtrader保姆级教学+免费行情源 SMA策略

    前言 想开始量化学习不知道如何入手?市面上的学习资料太多不知道该怎么看? 博主将从零基础讲解回测框架,一步步完成量化数据源的搭建,让你10天内成为量化高手 博主同时将视频课程内容在B站更新,可以关注& ...

  4. Java EE系列(九)——Java EE连接Mysql数据库(JDBC保姆级教学)

    最近几天,peter xiao所在的项目小组也逐渐开始进行做最后的Java web课程大作业了,我们组所做的是运动会报名服务系统,其中涉及到很多数据的增删查改,所以需要依靠Mysql数据库来解决这些问 ...

  5. 【GIS人必学】零基础学习ArcGIS Python脚本开发训练营来了

    Python作为一种高级程序设计语言,凭借其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言.ArcGIS软件由于其面向地理问题的科学理念,不断创新的技术方法,已在国内外市场占据了主导地位.Py ...

  6. 「保姆级教学」入门级java程序——薪资转换器

    往期「保姆级教学」目录 「保姆级教学」iOS下JDK环境配置 文章目录 往期「保姆级教学」目录 前言 第二日任务 1.java基础语法 2.掌握java基本输入输出 3.掌握java基本数据类型和变量 ...

  7. java基础知识点_零基础学习Java语言,各个阶段需要掌握的知识点

    随社会的脚步的不断发展,Java技术在不断的与时俱进,这也是Java一直长盛不衰的原因之一.Java技术的学习,永远没有早晚之分,技不压身,对于21世纪的我们80后,90后,甚至00后,尤其适用! 那 ...

  8. 零基础学习java必须要了解的学习路线

    Java开发目前热火朝天,但是有传言说Java将被取代,当然那只是传言.今天小编来谈谈零基础学习Java必须了解的学习路线. 第一阶段:HTML+CSS 静态布局开始 有人肯能会说我是做后端的,前端的 ...

  9. simulink仿真及代码生成技术入门到精通_Simulink仿真零基础入门到精通实用教学教程 自学全套...

    Simulink仿真零基础入门到精通实用教学教程 自学全套,以教程文字为主,毕业论文和报告均可以借鉴. Simulink是电气工程必学的模型仿真专业工具软件,非常的实用.小编在全网中搜索都没有找到非常 ...

最新文章

  1. iOS Core Data
  2. Dictionary Serializer(Dictionary 序列化)
  3. Lucene教程--Analyzer分析器详解
  4. android JSONObject的使用
  5. [转]Mac OS X 下部分Android手机无法连接adb问题之解决方案
  6. 主成份分析(PCA)——原理、实现步骤
  7. android各版本的sdk区别
  8. 七部门查处奥数班遇尴尬 学生齐喊“出去”
  9. 使用windows日志监控AD安全性的五大挑战
  10. 海思Hi3519A 基础入门教程
  11. DeflateRect
  12. Ubuntu 18.04 进入 Recovery 模式
  13. 5周年,时过境迁,千变万化
  14. 二维几何变换java代码_基于Batik的SVG应用: 关于几何变换
  15. 百度云迁移到阿里云(本地挂载网盘)
  16. Java八大内部排序算法
  17. spwm控制算法c语言实现,采用Verilog HDL语言与DDS技术实现SPWM控制算法的FPGA设计
  18. 贝加莱触摸屏维修4PP065.0571-X74F
  19. 解析.msh或.cas文件
  20. Shiro的简介(一)

热门文章

  1. 每年存1.4万,40年后你将有多少钱?算完惊呆了!
  2. (python基础)df.loc和df.iloc
  3. maven oracle 10.2.0.4.0,马文介绍说ojdbc:ojdbc14-10.2.0.4.0.jar,Maven,引入,ojdbcojdbc14102040jar...
  4. 约翰·卡马克(John Carmack的全名是John D. Carmack II)
  5. 计算机二进制小数加法,二进制是如何将加减乘除变换为加法实现的
  6. 数据库系统概论王珊第四版 答案
  7. Cglib之Enhancer创建动态代理
  8. Linux 文件/目录管理
  9. 运营商大数据如何应用?优势有哪些?
  10. 费舍尔算法(文字描述,过于繁琐,其实实现很简单)