您现在的位置是:首页 >其他 >vue的学习(1)网站首页其他

vue的学习(1)

2401_88560642 2025-02-19 00:01:03
简介vue的学习(1)

1Vue快速上手

1.Vue的概念

概念1:

Vue 是一个用于 构建用户界面 的渐进式框架。
构建用户界面)是 基于数据渲染 出用户看到的页面
例子

概念2:

Vue 是一个用于 构建用户界面①的 渐进式 (循序渐进)② 框架 ③ 

  • Vue 的两种使用方式:

  • ① Vue 核心包开发
  • 场景:局部 模块改造
  • ② Vue 核心包 & Vue 插件 工程化开发
  • 场景:整站 开发

概念3:
Vue 是一个用于 构建用户界面 的 渐进式 ② 框架 ( 一套完整的项目解决方案 )③

  • 优点:大大提升开发效率 (70%↑)
  • 缺点:需要理解记忆规则 → 官网

  • 总结:

  • Vue 是一个用于 构建用户界面 渐进式 框架
  • 1. 构建用户界面:基于 数据 动态 渲染 页面
  • 2. 渐进式:循序渐进的学习
  • 3. 框架:一套完整的项目解决方案,提升开发效率↑ (理解记忆规则)
  • 规则 → 官网

2.创建实例 

创建 Vue 实例,初始化渲染

总结:

  • 创建 Vue 实例,初始化渲染的核心步骤:
  • 1. 准备容器
  • 2. 引包 (官网) - 开发版本 / 生产版本
  • 3. 创建 Vue 实例 new Vue()
  • 4. 指定配置项 el data => 渲染数据
  • ① el 指定挂载点,选择器指定控制的是哪个盒子
  • ② data 提供数据

3.插值表达式{ { }}

插值表达式{ { }}是一种 Vue 的模板语法

  • 1. 作用: 利用表达式进行插值,渲染到页面中
  • 表达式:是可以被求值的代码,JS引擎会将其计算出一个结果

  • 1. 作用: 利用表达式进行插值,渲染到页面中
  • 表达式:是可以被求值的代码,JS引擎会将其计算出一个结果
  • 2. 语法:{ { 表达式 }}
<h3>{
  
  {title}}</h3>
<p>{
  
  {nickname.toUpperCase()}}</p>
<p>{
  
  { age>=18?'成年':'未成年'}} </p>
<p>{
  
  { obj.name}}</p>
3. 注意点:
(1)使用的数据必须存在 (data)
<p>{
   
   {hobby}}</p>  (是错的)
(2)支持的是表达式,而非语句,比如:if for ...
<p>{
   
   {if}}</p>X
(3)不能在标签属性中使用 { { }} 插值
<p title="{
   
   {username}}">我是一个p标签</p>  X

总结:

  • 1. 插值表达式的作用是什么?
  • 利用表达式进行插值,将数据渲染页面中
  • 2. 语法格式?
  • { { 表达式 }}
  • 3. 插值表达式的注意点:
  • ① 使用的数据要存在 (data)
  • ② 支持的是表达式,而非语句 if ... for
  • ③ 不能在标签属性里面使用

4.Vue 核心特性:响应式

比如: 数据的响应式处理 → 响应式: 数据变化,视图自动更新

数据改变,视图会自动更新

  • 聚焦于数据 → 数据驱动视图
  • 使用 Vue 开发,关注业务的核心逻辑,根据业务修改数据即可

  • 总结:

  • 1. 什么是响应式呢?
  • 数据改变,视图自动更新
  • 使用 Vue 开发 → 专注于业务核心逻辑 即可
  • 2. 如何访问或修改数据呢?
  • data中的数据, 最终会被添加到实例上
  • ① 访问数据: "实例.属性名"
  • ② 修改数据: "实例.属性名" = "值"

5.安装 Vue 开发者工具:装插件调试 Vue 应用

  • (1)通过谷歌应用商店安装 (国外网站)
  • (2)极简插件: 下载 → 开发者模式 → 拖拽安装 → 插件详情允许访问文件

2.Vue指令

  • Vue 会根据不同的【指令】,针对标签实现不同的【功能】
  • 指令:带有 v- 前缀 的 特殊 标签属性

 

总结:

  • 1. 什么是 Vue 指令呢?
  •   指令就是带有 v- 前缀 的特殊 属性,不同属性 对应 不同的功能
  •   学习不同指令 → 解决不同业务场景需求
  • 2. 如果需要动态解析标签,可以用哪个指令?语法?
  •    v-html = "表达式 " → 动态设置元素 innerHTML

1.Vue 指令 v-show vs v-if

  • v-show
  • 1. 作用: 控制元素显示隐藏
  • 2. 语法: v-show = "表达式" 表达式值 true 显示false 隐藏
  • 3. 原理: 切换 display:none 控制显示隐藏
  • 4. 场景: 频繁切换显示隐藏的场景

例子:

  • v-if
  • 1. 作用: 控制元素显示隐藏(条件渲染
  • 2. 语法: v-if = "表达式" 表达式值 true 显示false 隐藏
  • 3. 原理: 基于条件判断,是否 创建 移除 元素节点
  • 4. 场景: 要么显示,要么隐藏,不频繁切换的场景

2.Vue 指令 v-else v-else-if

  • 1. 作用: 辅助 v-if 进行判断渲染
  • 2. 语法: v-else v-else-if = "表达式"
  • 3. 注意: 需要紧挨着 v-if 一起使用

3.Vue 指令 v-on

  • 1. 作用: 注册事件
  • 2. 语法:
  • ① v-on:事件名 = "内联语句"
  • ② v-on:事件名 = "methods中的函数名"
  • 3. 简写:@事件名
<button v-on:click="count++">按钮</button)
<button> @click="count++">按钮</button>

还有:

  • 1. 作用: 注册事件
  • 2. 语法:
  • ① v-on:事件名 = "内联语句"
  • ② v-on:事件名 = "methods中的函数名"
  • 3. 简写:@事件名
<button @click="fn">-</button>

4. 注意methods函数内的 this 指向 Vue 实例
Vue 指令 v-on 调用传参

4.Vue 指令 v-bind

1. 作用: 动态的设置html的 标签属性 → src url title ...
2. 语法: v-bind :属性名 ="表达式"
3. 注意: 简写形式 :属性名="表达式"

5.Vue 指令 v-for

1. 作用: 基于 数据 循环, 多次 渲染整个元素
2. 遍历数组语法:
v-for = "( item, index ) in 数组 "
  item 每一项, index 下标
  省略 index: v-for = " item in 数组 "
数组 、对象、数字...

v-for 中的 key
<ul>
<li v-for="(item, index) in booksList" :key="item.id">
<span>{
    
    { item.name }}</span>
<span>{
    
    { item.author }}</span>
<button @click="del(item.id)">删除</button>
</li>
</ul>
  • 语法:key属性 = "唯一标识"
  • 作用:给列表项添加的唯一标识。便于Vue进行列表项的正确排序复用
  • 原因:v-for 的默认行为会尝试 原地修改元素 就地复用

  • 若不进行绑定,后面元素就会继承前面的特征

  • 注意点:

  • 1. key 的值只能是 字符串 数字类型
  • 2. key 的值必须具有 唯一性
  • 3. 推荐使用 id 作为 key(唯一),不推荐使用 index 作为 key(会变化,不对应)

6.Vue 指令 v-model

  • 1. 作用: 表单元素 使用, 双向数据绑定

  • ① 数据变化 → 视图自动更新
  • 视图变化 → 数据自动更新

2. 语法: v-model = '变量'

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。