动力节点Vue3笔记——Vue程序初体验

news2024/12/28 4:42:30

目录

一、Vue程序初体验

1.1 下载并安装vue.js

1.2 第一个Vue程序 

1.3  Vue的data配置项

1.4  Vue的template配置项 


一、Vue程序初体验

可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的,对我们编写Vue程序起不到太大的作用,更何况现在说了一些特点之后,我们也没有办法彻底理解它,因此我们可以先学会用,使用一段时间之后,回头来熟悉一下Vue框架以及它的特点。只需要知道Vue是一个基于JavaScript(JS)实现的框架。要使用它就需要先拿到Vue的js文件。

1.1 下载并安装vue.js

 第一步:打开Vue2官网,点击下图所示的“起步”:

 第二步:继续点击下图所示的“安装”

 第三步:在“安装”页面向下滚动,直到看到下图所示位置:

第四步:点击开发版本,并下载,如下图所示: 

第五步:安装Vue:

使用script标签引入vue.js文件。就像这样:<script src=”xx/vue.js”></script>

1.2 第一个Vue程序 

集成开发环境使用VSCode,没有的可以安装一个

第一个Vue程序如下: 

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta http-equiv="X-UA-Compatible" content="IE=edge">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>第一个Vue程序</title>  
    <!-- 安装vue.js -->  
    <script src="../js/vue.js"></script>  
</head>  
<body>  
    <!-- 指定挂载位置 -->  
    <div id="app"></div>  
    <!-- vue程序 -->  
    <script>  
        // 第一步:创建Vue实例  
        const vm = new Vue({  
            template : '<h1>Hello Vue!</h1>'  
        })  
        // 第二步:将Vue实例挂载到指定位置  
        vm.$mount('#app')  
    </script>  
</body>  
</html>  

运行效果:

对第一个程序进行解释说明:

  1. 当使用script引入vue.js之后,Vue会被注册为一个全局变量。就像引入jQuery之后,jQuery也会被注册为一个全局变量一样。
  2. 我们必须new一个Vue实例,因为通过源码可以看到this的存在。
  3. Vue的构造方法参数是一个options配置对象。配置对象中有大量Vue预定义的配置。每一个配置项都是key:value结构。一个key:value就是一个Vue的配置项。
  4. template配置项:value是一个模板字符串。在这里编写符合Vue语法规则的代码(Vue有一套自己规定的语法规则)。写在这里的字符串会被Vue编译器进行编译,将其转换成浏览器能够识别的HTML代码。template称之为模板。
  5. Vue实例的$mount方法:这个方法完成挂载动作,将Vue实例挂载到指定位置。也就是说将Vue编译后的HTML代码渲染到页面的指定位置。注意:指定位置的元素被替换。
  6. ‘#app’的语法类似于CSS中的id选择器语法。表示将Vue实例挂载到id=’app’的元素位置。当然,如果编写原生JS也是可以的:vm.$mount(document.getElementById(‘app’))
  7. ‘#app’是id选择器,也可以使用其它选择器,例如类选择器:’.app’。类选择器可以匹配多个元素(位置),这个时候Vue只会选择第一个位置进行挂载(从上到下第一个)。

1.3  Vue的data配置项

观察第一个Vue程序,你会发现要完成这种功能,我们完全没有必要使用Vue,直接在body标签中编写以下代码即可: 

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>没必要使用Vue呀</title>  
</head>  
<body>  
    <h1>Hello Vue!</h1>  
</body>  
</html>  

在Vue中有一个data配置项,可以帮助动态的渲染页面代码如下:

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta http-equiv="X-UA-Compatible" content="IE=edge">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>Vue选项data</title>  
    <!-- 安装vue -->  
    <script src="../js/vue.js"></script>  
</head>  
<body>  
    <!-- 指定挂载位置 -->  
    <div id="app"></div>  
    <!-- vue代码 -->  
    <script>  
        new Vue({  
            data : {  
                message : 'Hello Vue!'  
            },  
            template : '<h1>{{message}}</h1>'  
        }).$mount('#app')  
    </script>  
</body>  
</html>  

运行结果如下:

对以上程序进行解释说明:

  1. data是Vue 实例的数据对象。并且这个对象必须是纯粹的对象 (含有零个或多个的 key/value 对)。
  2. {{message}}是Vue框架自己搞的一个语法,叫做插值语法(或者叫做胡子语法),可以从data中根据key来获取value,并且将value插入到对应的位置。
  3. data可以是以下几种情况,但不限于这几种情况:
    data : {  
      name : '老杜',  
      age : 18  
    }  
    //取值:  
    {{name}}  
    {{age}}  
      
    data : {  
      user : {  
        name : '老杜',  
        age : 18  
      }  
    }  
    //取值:  
    {{user.name}}  
    {{user.age}}  
      
    data : {  
      colors : ['红色', '黄色', '蓝色']  
    }  
    //取值:  
    {{colors[0]}}  
    {{colors[1]}}  
    {{colors[2]}}  
    

  4. 以上程序执行原理:Vue编译器对template进行编译,遇到胡子{{}}时从data中取数据,然后将取到的数据插到对应的位置。生成一段HTML代码,最终将HTML渲染到挂载位置,呈现。

  5. 当data发生改变时,template模板会被重新编译,重新渲染。

1.4  Vue的template配置项 

template只能有一个根元素。 请看如下代码: 

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta http-equiv="X-UA-Compatible" content="IE=edge">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>Vue选项template</title>  
    <!-- 安装vue -->  
    <script src="../js/vue.js"></script>  
</head>  
<body>  
    <!-- 指定挂载位置 -->  
    <div id="app"></div>  
    <!-- vue程序 -->  
    <script>  
        new Vue({  
            template : '<h1>{{message}}</h1><h1>{{name}}</h1>',  
            data : {  
                message : 'Hello Vue!',  
                name : '动力节点老杜'  
            }  
        }).$mount('#app')  
    </script>  
</body>  
</html>  

执行结果

控制台错误信息:组件模板应该只能包括一个根元素。 所以如果使用template的话,根元素只能有一个。 代码修改如下:

new Vue({  
    template : '<div><h1>{{message}}</h1><h1>{{name}}</h1></div>',  
    data : {  
        message : 'Hello Vue!',  
        name : '动力节点老杜'  
    }  
}).$mount('#app')

运行结果

template编译后进行渲染时会将挂载位置的元素替换。

template后面的代码如果需要换行的话,建议将代码写到``符号当中,不建议使用 + 进行字符串的拼接。 代码修改如下:

new Vue({  
    template : `  
        <div>  
            <h1>{{message}}</h1>  
            <h1>{{name}}</h1>  
        </div>  
    `,  
    data : {  
        message : 'Hello Vue!',  
        name : '动力节点老杜'  
    }  
}).$mount('#app')

运行结果

template配置项可以省略,将其直接编写到HTML代码当中。 代码如下:

<!-- 指定挂载位置 -->  
<div id="app">  
    <div>  
        <h1>{{message}}</h1>  
        <h1>{{name}}</h1>  
    </div>  
</div>  
<!-- vue程序 -->  
<script>  
    new Vue({  
        data : {  
            message : 'Hello Vue!',  
            name : '动力节点老杜'  
        }  
    }).$mount('#app')  
</script> 

运行结果

需要注意两点:
第一:这种方式不会产生像template那种的元素替换。
第二:虽然是直接写到HTML代码当中的,但以上程序中第3~6行已经不是HTML代码了,它是具有Vue语法特色的模板语句。这段内容在data发生改变后都是要重新编译的。

将Vue实例挂载时,也可以不用$mount方法,可以使用Vue的el配置项。 代码如下:

<!-- 指定挂载位置 -->  
<div id="app">  
    <div>  
        <h1>{{message}}</h1>  
        <h1>{{name}}</h1>  
    </div>  
</div>  
<!-- vue程序 -->  
<script>  
    new Vue({  
        data : {  
            message : 'Hello Vue!',  
            name : '动力节点老杜'  
        },  
        el : '#app'  
    })  
</script> 

 执行结果

 el是element单词的缩写,翻译为“元素”,el配置项主要是用来指定Vue实例关联的容器。也就是说Vue所管理的容器是哪个。

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

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

相关文章

C语言从入门到精通第4天(1~3天的扩展)

1~3天的扩展 拓展数据类型sizeof关键字整型数据的打印格式字符类型的输出格式ASCII码表转义字符进制 拓展数据类型 在开发过程中我们需要处理各种类型的数据&#xff0c;C语言处理基本类型还有其他的类型&#xff1a; sizeof关键字 C语言中可以通过sizeof关键字获取某个数据…

Java源码(三)SpringBoot Web容器应用上下文

思维导图 本文主要分析ServletWebServerApplicationContext源码 SpringBoot Web容器应用上下文&#xff08;这是个人的翻译, 如有不足之处还望指出, 大佬勿喷!!!&#xff09; 1.自我思考及复盘 备注&#xff1a; 自我思考及复盘是为了养成带着问题阅读源码及阅读完源码后总结…

echarts 雷达图

Echarts 常用各类图表模板配置 注意&#xff1a; 这里主要就是基于各类图表&#xff0c;更多的使用 Echarts 的各类配置项&#xff1b; 以下代码都可以复制到 Echarts 官网&#xff0c;直接预览&#xff1b; 图标模板目录 Echarts 常用各类图表模板配置一、雷达图二、环形图三…

27 个Python数据科学库实战案例 (附代码)

为了大家能够对人工智能常用的 Python 库有一个初步的了解&#xff0c;以选择能够满足自己需求的库进行学习&#xff0c;对目前较为常见的人工智能库进行简要全面的介绍。 1、Numpy NumPy(Numerical Python)是 Python的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算…

US News退榜风波后,发布最新美国最佳法学院和医学院排名

从2022年11月开始&#xff0c;美国权威排名机构US News不断陷入风波。耶鲁大学法学院率先宣布退出US News法学院排名&#xff0c;先是法学院&#xff0c;后是医学院&#xff0c;包括哈佛大学大学、斯坦福大学、哥伦比亚大学和加州大学伯克利分校等名校也纷纷宣布退出。 这些老…

【C语言】const关键字的作用

文章目录 一. const修饰变量二. const修饰指针三. const修饰函数参数 一. const修饰变量 被 const 修饰的变量具有常属性&#xff0c;这里的常属性指的是变量的值不能被修改 int main() {// const可以写在类型之前&#xff0c;也可以写在类型之后int const a 10;a 20;// er…

【操作系统——内存的基本知识,逻辑地址到物理地址的转换,操作系统对内存空间的分配和回收以及扩充和保护】

文章目录 内存的基本知识什么是内存&#xff1f;内存有什么作用&#xff1f;进程运行的基本原理知识回顾 内存的管理概念内存空间的扩充内存空间的分配与回收连续分配管理方式动态分区的算法&#xff1a; 内存的基本知识 什么是内存&#xff1f;内存有什么作用&#xff1f; 内…

Linux日志分析

日志的分类 内核以及系统日志 内核及系统日志由系统服务 rsyslog 统一管理&#xff0c;主配置文件为/etc/rsyslog.conf&#xff0c;主程序/sbin/rsyslogd Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下。 系统日志基于rsyslog服务&#xf…

【LeetCode】剑指 Offer 63. 股票的最大利润 p304 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/gu-piao-de-zui-da-li-run-lcof/ 1. 题目介绍&#xff08;63. 股票的最大利润&#xff09; 假设把某股票的价格按照时间先后顺序存储在数组中&#xff0c;请问买卖该股票一次可能获得的最大利润是多少&#xff1f; 【测试用…

自然语言处理 —— 02 基于规则的词法分析

一、什么是词法分析? 词:是自然语言中能够独立运用的最小单位,是语言信息处理的基本单位。 词法分析:是词汇层的分析技术。主要包括词的识别、形态分析、词性标注等任务。 1. 词的识别 将句子转换成词序列【就是分词?】 2. 形态分析 词的构成、形态变化、词形还原。 …

物联网定位技术|实验报告|实验三 PDM定位算法

目录 1. 实验目标 2. 实验要求 3. 算法介绍 3.1 PDM算法 4. 算法实现 第一步&#xff1a;将数据读入内存 第二步&#xff1a;判断锚节的个数 第三步&#xff1a;将所有的两点间的距离关系读入距离矩阵 第四步&#xff1a;利用最短路径算法 第五步&#xff1a;构造节点跳数矩…

JVM-0419~20

类的加载 类的加载过程&#xff08;生命周期&#xff09; 类的加载分几步&#xff1f; 按照Java虚拟机规范&#xff0c;从class文件到加载到内存中的类&#xff0c;到类卸载出内存为止&#xff0c;它的整个生命周期包括如下7个阶段&#xff1a; 基本数据类型在虚拟机里面都预…

【智能座舱系列】-华为发布全球首款车载光场屏 开拓车载视觉体验新航道

4月16日,2023华为智能汽车解决方案“内赋智能,焕发新生”新品发布会在上海举行,华为正式发布全新车载娱乐屏品类:HUAWEI xScene 光场屏。该产品采用独创的光学引擎技术,具有大画幅、景深感、低晕动、眼放松等特点,大幅提升车内视觉体验。 华为光场屏:私人影院装入车内,…

非常详细的阻抗测试基础知识

编者注&#xff1a;为什么要测量阻抗呢&#xff1f;阻抗能代表什么&#xff1f;阻抗测量的注意事项... ...很多人可能会带着一系列的问题来阅读本文。不管是数字电路工程师还是射频工程师&#xff0c;都在关注各类器件的阻抗&#xff0c;本文非常值得一读。全文13000多字&#…

2. 算法分析

2. 算法分析 研究算法的最终目的就是如何花更少的时间&#xff0c;如何占用更少的内存去完成相同的需求。 我们要计算算法时间耗费情况&#xff0c;首先我们得度量算法的执行时间&#xff0c;那么如何度量呢&#xff1f; 2.1 算法的时间复杂度分析 事后分析估算方法&#x…

关于web安全测试在功能测试中的应用

关于web安全测试在功能测试中的应用 一、安全基本概念1.1实施安全评估1.1.1资产等级划分1.1.2威胁分析1.1.3风险分析1.1.4 安全方案 1.2 安全原则 二、我的安全测试模型三、安全测试在功能测试中的应用3.1 更改url3.2 逻辑缺陷&#xff1a;3.3 破坏流程顺序3.4 接口提示信息3.5…

HNU-计算机系统-讨论课5

WARNING&#xff1a; 本题为开放性题目&#xff0c;所设计的也仅仅是一个可能的模型而已&#xff0c;再考虑到个人水平有限。在呈现效果上难免会有缺漏以及可行性的缺陷。故请批判性地接收&#xff01; 所以如果知识有错误或者缺漏&#xff0c;请一定要指出&#xff0c;您的建…

计算机类大学生竞赛经验分享

如果你是作为一个科班出生的学习编程方向的一名在校大学生&#xff0c;那么如果对竞赛感兴趣&#xff0c;可以看看这篇文章 本人作为一名前端开发方向的学生&#xff0c;将自己这几年的参赛经验和比赛相关类型介绍分享给大家 首先我们要知道&#xff0c;竞赛分为三种大概的方向…

《类和对象》(上篇)

本文主要对类和对象有一个初步的了解。 文章目录 前言1、类的引入和定义2、类的访问限定符及封装2.1 访问限定符2.2 封装 3 、类的作用域4 、类的实例化5 、类对象的模型5.1 类对象的大小5.2 类对象存储方式 6、this 指针6.1 引子6.2 特性6.3 this指针的一个问题 前言 C语言是面…

MySQL插入和查询blob字段类型的sql语句

创建表&#xff1a; CREATE TABLE t_inpatient_medical_records ( id bigint(20) NOT NULL AUTO_INCREMENT, inpatient_record_code varchar(32) DEFAULT NULL COMMENT 就诊流水号, patient_name varchar(256) DEFAULT NULL COMMENT 患者姓名, pat_id varchar(16) DEFAULT NULL…