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

前端框架Vue

vue基础知识点

首先介绍用 HTML 写结构 + script 里写 Vue,不需要环境

1.差值表达式{{ }}

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Hello Vue</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> <!-- 引入 Vue 2 -->
</head>
<body><div id="app">{{ message }}</div><script>new Vue({el: '#app',data: {message: 'Hello Vue!'}});</script>
</body>
</html>

在这里插入图片描述

代码作用
<div id="app">页面上定义一个区域,Vue 会控制这个区域
{{ message }}插值表达式,显示 data 中的变量 message 的值
new Vue({...})创建一个 Vue 实例(最核心的部分)
el: '#app'让 Vue 接管 id="app" 的 HTML 部分(#为id)
data: { message: ... }定义数据,Vue 会自动和页面绑定

2.属性绑定 v-bind(简写为 :)

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>v-biuld</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> <!-- 引入 Vue 2 -->
</head>
<body><div id="app"><img :src="imageUrl" alt="示例图片"></div><script>new Vue({el: '#app',data: {imageUrl: 'https://vuejs.org/images/logo.png'}});</script>
</body>
</html>
代码作用
:src="imageUrl"动态绑定图片地址,等价于 v-bind:src
imageUrl是你在 data 中定义的变量,比如图片地址
使用场景动态图片、链接、class 等都可用 v-bind

3. 事件处理 v-on:click(简写为 @click)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件处理</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body><div id="app"><button @click="count++">你点了 {{ count }} 次</button></div><script>new Vue({el: '#app',data: {count: 0}});</script></body>
</html>

在这里插入图片描述

代码作用
@click="count++"当按钮被点击时,变量 count 自动加一
{{ count }}实时显示点击次数(插值表达式)

4. 双向绑定 v-model

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件处理</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body><div id="app"><input v-model="name" placeholder="输入你的名字"><p>你好,{{ name }}</p></div><script>new Vue({el: '#app',data: {name: ''}});</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

代码作用
v-model="name"让输入框和 name 数据双向同步
{{ name }}实时显示你输入的内容
场景表单、输入框、下拉框等都可以用 v-model

5. 条件渲染 v-if

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件处理</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body><div id="app"><button @click="show = !show">切换显示</button><p v-if="show">你现在能看到这句话。</p><p v-else>你现在看不到原来的那句话了。</p></div><script>new Vue({el: '#app',data: {show: true}});</script></body>
</html>

在这里插入图片描述
在这里插入图片描述

代码作用
v-if="show"showtrue 时,显示这段文字
@click="show = !show"点击按钮会让 show 变成相反值,达到隐藏/显示的效果

6. 列表渲染 v-for

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件处理</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body><div id="app"><ul><li v-for="fruit in fruits">{{ fruit }}</li></ul></div><script>new Vue({el: '#app',data: {fruits: ['苹果', '香蕉', '橘子']}});</script></body>
</html>
代码作用
v-for="fruit in fruits"遍历数组 fruits
{{ fruit }}显示每一项的值
场景渲染列表、表格、选项等

在这里插入图片描述

7. 计算属性 computed

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件处理</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body><div id="app"><input v-model="firstName"> +<input v-model="lastName"><p>全名是:{{ fullName }}</p></div><script>new Vue({el: '#app',data: {firstName: '张',lastName: '三'},computed: {fullName() {return this.firstName + this.lastName;}}});</script></body>
</html>

在这里插入图片描述

代码作用
v-model="firstName"输入名字
v-model="lastName"输入姓氏
computed.fullName自动计算并返回全名
优势当依赖的数据变化时,自动重新计算,无需手动调用函数

值得注意的是computed里的函数实际上是一种简写,完整如下:

fullName: function() {return this.firstName + this.lastName;
}

这是因为JavaScript 从 ES6 开始,支持对象方法的简写写法,即对象作为方法名,返回的直接作为对象的内容

总结

Vue 指令/语法含义示例
{{ data }}插值语法,显示数据值<p>{{ name }}</p>
v-bind or :绑定 HTML 属性<img :src="imageUrl">
@click绑定点击事件<button @click="do()">
v-model双向数据绑定<input v-model="name">
v-if/v-else条件显示/隐藏<p v-if="isVisible">
v-for遍历数组,渲染列表v-for="item in items"

Vue进阶

前置知识

  1. 模块化开发:大程序拆成多个小模块,每个模块完成特定功能,最终组合起来构建完整应用。在 Vue 中,每个 .vue 文件就是一个模块(组件模块)
  2. Vue CLI 与 Vite
    这两者是 Vue 项目的两种构建工具:
特性Vue CLIVite
技术年代较早(Webpack)较新(基于原生 ES 模块)
编译速度慢(初始构建慢)⚡ 极快(冷启动秒开)
配置复杂度低,开箱即用
推荐使用Vue2 项目Vue3 项目官方推荐
my-project/
├── public/        # 静态资源
├── src/
│   ├── main.js    # 入口文件
│   ├── App.vue    # 根组件
│   └── components/
├── package.json   # 项目信息 & 依赖
  1. Node.js 环境:一个 运行 JavaScript 的服务器端环境;让你在本地运行 npm 命令来安装和运行项目;不是 Vue 专属,是前端工具生态的底层。

创建vue

1.环境配置请见其他博客
2.在代码文件夹输入

vue create test2

选择vue版本
在这里插入图片描述
这时会出现如下文件夹和终端信息
在这里插入图片描述
在这里插入图片描述
输入下面代码,是运行整个文件用的

npm run serve

在这里插入图片描述
进入Local,出现这个页面就是成功了。
在这里插入图片描述

http://www.xdnf.cn/news/764101.html

相关文章:

  • CTF:网络安全的实战演练场
  • 系统级 EOS 测试方法 - System Level EOS Testing Method
  • Ⅱ.计算机二级选择题(运算符与表达式)
  • C++之动态数组vector
  • 【软件测试】测试框架(unittest/pytest)
  • 【Elasticsearch】ILM(Index Lifecycle Management)策略详解
  • 【Java Web】速通Tomcat
  • Origin将杂乱的分组散点图升级为美观的带颜色映射的气泡图
  • Java垃圾回收机制详解:从原理到实践
  • 数字规则:进制转换与原码、反码、补码
  • 第九天:java注解
  • Cesium快速入门到精通系列教程三:添加物体与3D建筑物
  • Flickr30k Entities短语定位评测指南
  • 进阶日记(一)大模型的本地部署与运行
  • MATLAB实战:人脸检测与识别实现方案
  • 并发执行问题 (上)
  • 【计网】第六章(网络层)习题测试
  • Linux正则三剑客篇
  • 【火山引擎 大模型批量推理数据教程---详细讲解一篇过!】
  • 哈希:闭散列的开放定址法
  • #14 【Kaggle】 Drawing with LLMs 金牌方案赏析
  • 简析PointNet++
  • leetcode0404. 左叶子之和-easy
  • 对选择基于模型编程(MBD)的工作对职业发展影响的讨论 (2025)
  • 【Bluedroid】蓝牙启动之 l2c_init 源码解析
  • 字符函数和字符串函数(1)
  • 上位机知识篇---直接无线数据通信
  • 线程与进程
  • 【Dv3Admin】系统视图用户管理API文件解析
  • Redis 架构设计