初识Vue【1】

1.什么是Vue:

复制代码
Vue (读音 /vjuː/,类似于 **view**) 是一套用于构建用户界面的**渐进式框架**。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与[现代化的工具链]([https://v2.cn.vuejs.org/v2/guide/single-file-components.html)](https://v2.cn.vuejs.org/v2/guide/single-file-components.html))以及各种[支持类库]([https://github.com/vuejs/awesome-vue#libraries--plugins)](https://github.com/vuejs/awesome-vue#libraries--plugins))结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

Vue教学网址:https://v2.cn.vuejs.org/v2/guide/

2.Vue的特点:

  • 遵循MVVM模式:
  • 体积小,运行效率高,本身只关注视图层,可以引入其他的第三方库

3.Vue的使用步骤:

1.实现步骤:

1.创建一个基础的HTML文档:

plain 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

2.引入Vue环境:

plain 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</body>
</html>
复制代码
  注意看引入的Vue环境是需要在线引入的,因此我们可以进行离线引入,即访问Vue环境的网址,将Vue环境所需要的资源复制到我们自定义的js文件中,再在HTML文档中引入我们定义的js文件即可
plain 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  //src属性的值即为vue环境资源所在的js文件路径
 <script src="vue/vue.js"></script>
</body>
</html>
复制代码
 Vue环境的部分源码如下:

3.准备一个容器:

复制代码
 <font style="color:rgba(0, 0, 0, 0.85);">Vue 应用需要一个根元素来进行挂载。通常会在 HTML 中创建一个 </font>`div`<font style="color:rgba(0, 0, 0, 0.85);"> 元素作为 Vue 应用的挂载点。</font>

然后在 JavaScript 中使用 new Vue({ el: '#app' }) 将 Vue 实例挂载到这个 div 上。这样 Vue 就可以管理这个 div 及其内部的 DOM 结构,实现数据驱动的视图更新。

plain 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app">
    
</div>
  //src属性的值即为vue环境资源所在的js文件路径
 <script src="vue/vue.js"></script>
</body>
</html>  
复制代码
注意:div容器应使用id选择器,因为div容器与Vue实例是一一对应的,如果使用类选择器或标签选择器就可能出现一个Vue实例对应到多个div容器的现象

4.创建Vue实例:

复制代码
  通过new关键字创建一个Vue实例,并给此实例添加两个属性,el属性表示此Vue实例绑定的div容器的id,data属性是一个对象,用于保存数据内容;
plain 复制代码
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app">
    
</div>
  //src属性的值即为vue环境资源所在的js文件路径
 <script src="vue/vue.js"></script>
 <script>
    // 创建vue实例
    let vm=new Vue({
      //'#'表示选择器
        el:"#app",
        data:{
            name:'张三'
        }
    });
</body>
</html>     

5.在div容器中获取Vue实例中保存的数据:

plain 复制代码
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app">
     <h1>hello,{{name}}</h1>
</div>
  //src属性的值即为vue环境资源所在的js文件路径
 <script src="vue/vue.js"></script>
 <script>
    // 创建vue实例
    let vm=new Vue({
      //'#'表示选择器
        el:"#app",
        data:{
            name:'张三'
        }
    });
</body>
</html>     
复制代码
![](https://cdn.nlark.com/yuque/0/2024/png/45532635/1732075611595-b5539d9a-ca12-41f8-a296-332840ffac79.png)

2.总结:

复制代码
      1.引入Vue环境;
复制代码
      2.准备容器,并添加id属性为此容器命名;
复制代码
      3.创建Vue实例,并传入配置对象;
复制代码
      4.app容器中的代码 需要符合HTML的规范 可以混入Vue语法(上面的插值表达式就属于Vue语法);
复制代码
      5.Vue实例与容器是一一对应的;
复制代码
      6.一旦data中的变量 发生改变 那么页面也会改变;

3.说明:

还是以上面的代码为例:

plain 复制代码
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app">
     <h1>hello,{{name}}</h1>
</div>
  //src属性的值即为vue环境资源所在的js文件路径
 <script src="vue/vue.js"></script>
 <script>
    // 创建vue实例
    let vm=new Vue({
      //'#'表示选择器
        el:"#app",
        data:{
            name:'张三'
        }
    });
</body>
</html>     

此时我们在浏览器的控制台上可以获取此时name变量的值

当我们此时改变name变量的值时,浏览器页面上也会相应改变

有个问题需要注意一下,就是我们在代码中name变量是Vue实例中data属性的子属性,而非Vue实例vm的属性,那为什么我们可以直接通过vm.name获取或修改name属性的值呢。实际上它的底层是通过Object的defineproperty()方法将data的属性复制到了vm中,并提供了get/set方法,才使得我们可以直接获取或修改name的值;

相关推荐
飞翔的佩奇4 小时前
基于SpringBoot+MyBatis+MySQL+VUE实现的经方药食两用服务平台管理系统(附源码+数据库+毕业论文+部署教程+配套软件)
数据库·vue.js·spring boot·mysql·毕业设计·mybatis·经方药食两用平台
星月心城6 小时前
Promise之什么是promise?(01)
javascript
二川bro6 小时前
第二篇:Three.js核心三要素:场景、相机、渲染器
开发语言·javascript·数码相机
Mintopia6 小时前
🧱 用三维点亮前端宇宙:构建你自己的 Three.js 组件库
前端·javascript·three.js
故事与九7 小时前
vue3使用vue-pdf-embed实现前端PDF在线预览
前端·vue.js·pdf
小西↬7 小时前
vite+vue3+websocket处理音频流发送到后端
javascript·websocket·音视频
Mintopia7 小时前
🚀 顶点-面碰撞检测之诗:用牛顿法追寻命运的交点
前端·javascript·计算机图形学
烛阴8 小时前
解锁 Gulp 的潜力:高级技巧与工作流优化
前端·javascript
Entropy-Lee8 小时前
JavaScript 语句和函数
开发语言·前端·javascript
cos10 小时前
FE Bits 前端周周谈 Vol.1|Hello World、TanStack DB 首个 Beta 版发布
前端·javascript·css