Vue(简介、前期配置、Vue展示、模板语法)

news2024/12/25 9:03:54

一、简介

1. 什么是Vue?

2. Vue特点 

  • 采用组件化模式,提高代码复用率、且让代码更好维护

  • 组件化:每一部分直接就是大盒子组件(创建一个单独的Vue文件),直接可以修改单独封装的组件部分代码

  • Vue使用声明式编码,让编码人员无需直接操作DOM,提高开发效率 

  •  Vue使用虚拟DOM+优秀的Differ算法,尽量复用DOM节点

原生JavaScript:

问题:出现在第四个数据,再次使用数据的内容替换,结果是整体数据替换了初始的数据

目标优化::只在数据最后面添加数据,不全部替换

 Vue:

虚拟DOM:内存中的一个数据,最后Vue转换成真实DOM

生成四个新的虚拟DOM,如果之前存在虚拟DOM,就会进行新的虚拟DOM和旧的虚拟DOM进行Diff计算比较,最后将新的虚拟DOM进行添加

二、前期配置

1.安装Vue

这里使用的是网页直接下载 :

安装 — Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://v2.cn.vuejs.org/v2/guide/installation.html

 安装Vue之后通过一个html页面引入打开会出现两个提示

 2. 安装Vue开发者调试工具放在扩展工具中(消除第一个提示)

百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1yeOZKn0WAC6dqBGiCC3syg提取码:6666

安装之后将开发者模式引入Chrome插件并进行设置扩展程序的详细信息

3. 通过配置全局API(消除第二个提示)

API — Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://v2.cn.vuejs.org/v2/api/#productionTip

<script>
      Vue.config.productionTip = false;//阻止vue 启动时候产生的生产提示
</script>

4. 检测Vue是否引入成功

 5. 安装高效VScode插件

代码高亮提示、识别Vue相关代码

 

 

可以通过Live Serve进行实时更新,代开之后可以一写代码一边修改

 三、Vue展示(注意会出现的问题)

1. 配置好Vue开发模式之后开始使用Vue创建一个简单的文件

置放一个ico文件放在根目录,防止报错

 2. Vue使用(注意要先引入Vue文件)

  • 想让vue工作,必须创建一个vue实例,并且传入一个配置对象
  • root容器里面代码依然符合html规范,只不过插入一个特殊Vue语法
    • {{}}:插值语法(写入html中)
  • root容器里的代码被称为【Vue模板】
  • Vue实例和容器一一对应
  • 真实开发只有一个Vue实例【配置对象】,并且会配合组件一起使用
  • {{xxx}} 中的xx要写js表达式,并且xxx可以自动读取到data中得所有属性
  • 一旦data中的数据发生改变,那么模板(页面)中用到该数据地方也会自动更新

注意:区分js表达式和js代码(语句)

1. 表达式:一个表达式会生成一个值,可以在任何一个需要值得地方
         (1)a
         (2)a+b
           (3) demo(1)
           (4) x === y ? 'a' : 'b'
2. js语句
        (1) if(){}
        (2) for(){}

  
    <div id="root">
      <!-- 准备一个容器 -->
      <!-- 插值:{{直接写存储的数据}} -->
      <h1>Hello,{{name}}</h1>
    </div>
  <script type="text/javascript">
      //阻止vue 启动时候产生的生产提示
      Vue.config.productionTip = false;
      //vue实例:只传一个参数=配置对象
     new Vue({
        el: "#root", //el用于指定当前的Vue实例为哪个容器服务,值通常为css选择器字符串        
        // 把容器里动态的数据交给vue实例进行保管
        // data中用于存储数据供el所指向的容器使用,值我们先暂时写成一个对象
        data: {
          name: "清华123",
        },
      });
    </script>

 注意:容器和实例就是一对一

  • 当出现多个容器和一个实例时候不会对第二个容器进行实例操作
  • 当出现一个容器和多个实例时候不会使用第二个实例操作容器
    • 当使用第二个实例中数据对容器中第二个插值进行操作时候报错
 <body>
    <div id="root">
      <h2>{{name}},{{address}}</h2>
    </div>
    <script>
      Vue.config.productionTip = false;
      new Vue({
        el: "#root",
        data: {
          name: "北京",
        },
      });
      new Vue({
        el: "#root",
        data: {
          address: "中国",
        },
      });
    </script>
  </body>

当前会了解到:使用一个模板就需要引入一个实例,但是在后面开发中直接使用组件化操作

<body>
   
    <div id="root">
      <h1>Hello,{{name}} {{address}}</h1>
    </div>
    <div id="root2">
      <h1>Hello,{{name}} {{address}}</h1>
    </div>


    <script type="text/javascript">
      Vue.config.productionTip = false;
    
      new Vue({
        el: "#root",
        data: {
          name: "清华",
          address: "北京",
        },
      });
      new Vue({
        el: "#root2", 
        data: {
          name: "华东师范",
          address: "河北保定",
        },
      });
    </script>
  </body>

 业务中出现大量动态数据时候

  • 还是一个容器
  • 还是一个Vue实例(Vue实例会通过组件化操作进行拆分数据)

四、模板语法

1. 插值语法 {{}}

将Vue实例中的数据进行包裹

<body>
    <div id="root">
      <h1>插值语法</h1>
      <h3>你好,{{name}}</h3>
    </div>
    <script>
      Vue.config.productionTip = false; //阻止vue在启动时候产生了生产提示
      new Vue({
        el: "#root",
        data: {
          name: "jack",
        },
      });
    </script>
  </body>

2. 指令语法列举:v-bind  可以简写称   :

<body>
    <div id="root">
      <h1>插值语法</h1>
      <h3>你好,{{name}}</h3>
      <hr />
      <h1>指令语法</h1>
      <a v-bind:href="url" v-bind:x="hello">百度链接</a>
    </div>
    <script>
      Vue.config.productionTip = false; //阻止vue在启动时候产生了生产提示
      new Vue({
        el: "#root",
        data: {
          name: "jack",
          url: "http://www.baidu.com",
        },
      });
    </script>
  </body>

注意:如果绑定的数据没有实例对象则会报错

3. 什么时候使用插值语法,什么时候使用指令语法?

  • 插值语法:一般是用标签体内容(起始标签和结束标签之内)

  • 指令语法:一般用于标签属性(标签的属性处)

总结:

1.插值语法

  • 功能:用于解析标签内容
  • 写法:{{xxx}},xxx是js表达式,并且可以直接取到data中所有属性

2.指令语法 

  • 功能:用于解析标签(包括:标签属性,标签体内容、绑定事件、、、)
  • 举例:v-bind:href="xxx" 或简写成 :href="xxx" xxx同样要写js表达式且可以直接读取到data中的所有属性。
  • 备注:Vue中有很多指令,且形式都是:v-???,此处我们只是拿v-bind举个例子v-bind:可以简写成:

这里使用了一个存在指令语法后的大写方法:toUpperCase

 

<body>

  <div id="root">
  <h1>插值语法</h1>
  <h3>你好,{{name}}</h3>
  <hr />
  <h1>指令语法</h1>
  <a v-bind:href="school.url.toUpperCase()" v-bind:x="hello"
  >百度链接{{school.name}}</a
  >
  <a :href="Date.now()" :x="hello">百度链接</a>
  <!-- 注意  v-bind:可以直接简写成: -->
  </div>
  <script>
  Vue.config.productionTip = false; //阻止vue在启动时候产生了生产提示
new Vue({
  el: "#root",
  data: {
    name: "jack",
    school: {
      name: "你好",
      url: "http://www.baidu.com",
      hello: "你好",
    },
  },
});
</script>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/449852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么需要内网穿透技术?

随着互联网技术的快速发展&#xff0c;企业和个人越来越依赖于网络资源&#xff0c;而内网穿透技术正是解决远程访问内网资源的关键。本文将详细介绍内网穿透的概念及其重要性&#xff0c;以帮助您了解为什么我们需要使用内网穿透技术。 目录 一、内网穿透技术简介 二、为什…

Java中List排序的3种方法

在某些特殊的场景下&#xff0c;我们需要在 Java 程序中对 List 集合进行排序操作。比如从第三方接口中获取所有用户的列表&#xff0c;但列表默认是以用户编号从小到大进行排序的&#xff0c;而我们的系统需要按照用户的年龄从大到小进行排序&#xff0c;这个时候&#xff0c;…

2 变量运算符-基本数据类型讲解【Go语言教程】

2 变量运算符-基本数据类型讲解【Go语言教程】 2.1 变量 2.1.1 声明变量方式 指定变量类型&#xff0c;声明后若不赋值&#xff0c;使用默认值 类型推导 通过: 多变量声明 全局变量定义 在函数外部定义的就是全局变量 变量变量名值数据类型 注意&#xff1a;如果go程序报错&…

UE4/5多人游戏详解(七、自定义委托,实现寻找会话和加入会话的函数,通过Steam进行两台电脑的联机)

目录 可能出现问题&#xff08;在六部分的测试可能无法连接的问题【在末尾加上了&#xff0c;怕有人没看见在这里写一下】&#xff09; 自定义委托 调整位置 创建更多的委托和回调函数给菜单&#xff1a; 多播和动态多播 代码&#xff1a; 委托变量 代码&#xff1a; 回…

( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】

二叉查找树&#xff08;BST&#xff09;&#xff1a;根节点大于等于左子树所有节点&#xff0c;小于等于右子树所有节点。 二叉查找树中序遍历有序。 109. 有序链表转换二叉搜索树 给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为高度…

Linux: 进程间通信机制

文章目录 1. 前言2. 进程间通信机制2.1 管道2.1.1 匿名管道2.1.2 popen() 和 pclose()2.1.3 命名管道 FIFO 2.2 消息队列2.3 共享内存2.4 信号量2.5 网络套接字2.6 UNIX套接字2.7 信号 3. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给…

基于格密码的LWE问题

LWE LWE问题&#xff0c; Learning With Errors&#xff0c;带有安全性证明的第一个版本是由Oded Regev 在2005年提出&#xff0c;Kawachi等给出了效率的改进&#xff0c;接着一些效率方面非常重要的改进由Peikert等提出。 格理论知识 格密码学&#xff08;Lattice-based Cr…

PTA L1-093 猜帽子游戏 (15 分)

宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子&#xff0c;有的是黑色的&#xff0c;有的是黄色的。每个人可以看到别人头上的帽子&#xff0c;但是看不到自己的。游戏开始后&#xff0c;每个人可以猜自己头上的帽子是什么颜色&#xff0c;或者可以弃权不猜。如果没有…

机器学习算法 决策树

文章目录 一、决策树的原理二、决策树的构建2.1 ID3算法构建决策树2.2 C4.5 算法树的构建2.3 CART 树的创建 三、决策树的优缺点 一、决策树的原理 决策树&#xff08;Decision Tree&#xff09;是一种非参数的有监督学习方法&#xff0c;它能够从一系列有特征和标签的数据中总…

NDK OpenCV人脸定位

NDK系列之OpenCV人脸定位技术实战&#xff0c;本节主要是通过OpenCV C库&#xff0c;实现识别人脸定位&#xff0c;并对识别到的人脸画面增加红框显示。 实现效果&#xff1a; 实现逻辑&#xff1a; 1.初始化CameraX&#xff0c;绑定图片分析器ImageAnalysis&#xff0c;监听…

7.队列算法

算法&#xff1a;队列算法 队列是一种抽象的数据结构&#xff0c;有点类似于Stacks。与堆栈不同&#xff0c;队列的两端都是开放的。一端始终用于插入数据(入队)&#xff0c;另一端用于删除数据(出队)。队列遵循先进先出方法&#xff0c;即首先访问先存储的数据项。 一个真实的…

【C++初阶】类与对象(上)

一.什么是类&#xff0c;什么是对象 我们可以形象的把类比作是一个房子的设计图纸&#xff0c;而对象就是根据设计图纸设计出来的房子。 由设计图纸到房子的过程&#xff0c;我们称之为类的实例化。 C兼容C的&#xff0c;所以C中的结构体在C中也能用&#xff0c;但是C把结构体升…

rust教程 第一章 —— 初识rust

文章目录 前言一、Rust简介二、安装Rust编译器三、第一个Rust程序四、 IDE环境五、初识包管理六、总结 前言 本系列教程目录可查看这里&#xff1a;Rust教程目录 近些年来不断有新的语言崛起&#xff0c;比如当下非常火的go语言&#xff0c;不过相比于C&#xff0c;go语言确实…

C++类和对象 (3)

类和对象 1. 类的6个默认成员函数2. 构造函数2.1. 概念&#xff08;问题提出&#xff09;2.2. 特性 3.析构函数3.1. 概念3.2.特性 1. 类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在…

使用OpenFeign实现接口访问

1. 引言 在微服务横行的年代&#xff0c;后端根据业务的不一样分成了很多单独运行的服务&#xff0c;比如在物联网中&#xff0c;根据业务拆分为定时服务、设备控制等服务。当前端想控制设备时&#xff0c;其请求首先到其对应的后端服务&#xff0c;后端服务再调用设备控制服务…

Vue+Vant封装通用模态框单选框组件

前言 我们知道&#xff0c;在vant组件中提供的组件往往是比较基础的&#xff0c;能够满足基本需求。但是我们想实现ui设计的一些比较丰富效果的组件&#xff0c;需要自己去实现&#xff0c;且当项目中多次用到的时候&#xff0c;我们将以组件化的思想将其封装起来&#xff0c;…

Node.js -- 使用Express写接口

1.创建基本的服务器 //导入express const express require(express) //创建服务器实例 const app express() //调用app.listen方法&#xff0c;指定端口号并启动web服务器 app.listen(80,function(){console.log(Express server running at http://127.0.0.1) })2. 创建API路…

路由交换综合实验

拓扑结构&#xff1a; 要求 1、R6为网络运营商&#xff08;ISP&#xff09;&#xff0c;接口IP地址均为公有地址&#xff1b;该设备只能配置IP地址&#xff0c;之后不能在对其进行任何配置&#xff1b; 2、R1~R5为局域网&#xff0c;私有IP地址192.168.1.0/24&#xff0c;请合…

真题详解(UML图)-软件设计(五十五)

真题详解&#xff08;计算机知识&#xff09;-软件设计&#xff08;五十四)https://blog.csdn.net/ke1ying/article/details/130278265 组织域名&#xff1a; com商业组织 edu教育组织 gov政府组织 net主要网络支持中心 mil军事部门 Int国际组织 2、时间复杂度 O&#…

写一个自己的命令行解释器

写一个自己的命令行解释器 当我点开xshell运行服务器的时候bash就被加载到了内存中&#xff0c;此后我在bash上执行的所有程序都是作为bash的子进程。在bash这个进程内创建子进程&#xff0c;并让子进程去执行全新的代码&#xff0c;这不就是程序替换吗&#xff1f; 所以我们…