前端进阶:Vue.js

目录

框架:

助解:

框架:

VUE

什么是Vue.js?

Vue.js优点

Vue安装

方式一:直接用<script>引入

方式二:命令行工具

第一个Vue程序

代码

代码解释: 

运行

Vue指令

v-text  v-html

v-text

v-html

代码

运行

v-bind   v-on

v-on

v-bind

代码

运行

v-model

代码

运行

v-if v-show

v-if 

v-show

代码

运行 

Vue生命周期

代码

运行


框架:

助解:

现在盖高楼大厦是如何盖的?

钢筋混凝土浇筑框架

然后在框架结构的基础上再次进行装修

框架结构(把很多的基础功能已经实现了,水,电,网线,下水...)

框架:

在语言的基础上,把一些常用的重复出现的功能进行封装,使得开发人员可以更高效的进行开发。

html、css、js

前端框架

js框架(对js进行封装,简化代码方便操作)

UI框架(把一些常用的组件(表单,表格,按钮...)进行封装)

Java后端框架

VUE

什么是Vue.js?

Vue是一个前端js框架,简化js操作,

其中MVVM思想实现数据双向绑定(标签展示和js中的数据),

任意一方发生改变,框架都会自动的更新另一方,

程序员不需要直接操作DOM对象(标签)

Vue.js优点

效率高

生态丰富,学习成本低

vue.js只是对js进行了封装,并不是代替js,基础的语法还是js

Vue安装

方式一:直接用<script>引入

下载Vue.js并导入js文件

<script src = "js/vue.js"></script>

方式二:命令行工具

命令行输入:

$ npm install vue@^2

第一个Vue程序

1. 导入开发版本的 Vue.js

2. 创建 Vue 实例对象,设置 el 属性和 data 属性

3. 使用简洁的模板语法把数据渲染到页面上

代码

 <!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue封装的js文件 --><script src="js/vue.js"></script></head><body><div id="app"><!-- 插值表达式  直接可以将data中定义的数据获取-->{{ message }}{{a}}<div>{{message}}</div></div><script>//new Vue 对象var app = new Vue({el: '#app',//将id为app的标签与Vue对象进行绑定data: {//data中用来定义与标签进行双向绑定的数据,可以定义多组的message: 'Hello Vue!',a:10}})</script></body>
</html>

代码解释: 

1、{{ 变量 }} ,插值表达式获取 data 数据

2、new Vue();创建 Vue 对象(VM 对象)

3、el:数据挂载的 dom 对象

     Vue 会管理 el 选项命中的元素及其内部的后代元素

     可以使用其他的选择器,但是建议使用 ID 选择器

     可以使用其他的闭合标签,不能使用 HTML 和 BODY

4、data:{ message:’hello world’} model 数据

     Vue 中用到的数据定义在 data 中

     data 中可以写复杂类型的数据,如对象,数组

运行

Vue指令

指令带有前缀 v- 开头,以表示它们是 Vue 提供的特殊属性。

v-text  v-html

<P>{{msg}}</P>  插值表达插入变量。不会覆盖

v-text,v-html   会覆盖标签体中的内容

v-text

v-text 会把内容当作文本处理

<p v-text="msg"></p>  

v-html

v-html  会把内容当作 html的内容处理,可以解析标签

<p v-html="msg"></P>

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue封装的js文件 --><script src="js/vue.js"></script></head><body><div id="app"><P>{{msg}} vue</P><p v-text="msg"></p><p v-html="msg"></p></div><script> var app = new Vue({el: '#app', data: { msg: '你好!', }})</script></body>
</html>

运行

v-bind   v-on

v-on

v-on:事件名  为标签添加事件

事件名不需要写 on 指令可以简写为@

v-bind

v-bind:标签属性名="变量" 可以动态的来改变属性的值,只需要在js中改变属性的值即可

作用是为元素绑定属性

完整写法是 v-bind:属性名

简写的话可以直接省略 v-bind,只保留:属性名

代码

​<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue封装的js文件 --><script src="js/vue.js"></script><style type="text/css">.imgcss{width: 100px;height: 100px;}</style></head><body><div id="app"><img v-bind:src="img"><img :src="img"><!-- 为class属性动态添加取消样式 --><img :src="img" :title="title" v-bind:class="{imgcss:isActive}"><input type="button" value="改变1"/ v-on:click="test1()" ><input type="button" value="改变2"/ @click="test2('aaaaaa')" ></div><script> var app = new Vue({el: '#app', data: { img:"img/1.jpg",title:"这不是花",isActive:true},methods:{  //定义函数 可以在函数中使用this关键字访问data中的数据改变变量值test1(){this.img = "img/2.jpg";this.title = "这是一朵花";this.isActive = false;},test2(a){this.img = "img/1.jpg";this.title = a; this.isActive = true;}}})</script></body>
</html>​

运行

初始态

test1

test2

v-model

v-model="msg" 可以将输入框中value值 与 vue中数据进行绑定
当输入框值发生改变时,会自动的更新到数据中

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue封装的js文件 --><script src="js/vue.js"></script></head><body><div id="app"><p>{{msg}}</p><input type="text" v-model="msg"/></div><script> var app = new Vue({el: '#app', data: { msg: "", }})</script></body>
</html>

运行

v-if v-show

v-if v-show 都可以控制标签是否显示或隐藏

v-if 

v-if隐藏标签时直接将标签从网页中删除,大量操作开销较大

v-show

v-show隐藏标签时只是改变了标签的display值

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue封装的js文件 --><script src="js/vue.js"></script></style></head><body> <div id="app"><img :src="img" v-if="isShow"/><img :src="img" v-show="isShow"/></div><script> var app = new Vue({el: '#app', data: { img:"img/1.jpg",isShow:true},methods:{ }})</script></body>
</html>

运行 

Vue生命周期

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数 据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时 在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添 加自己的代码的机会。

beforeCreate: function () { console.log('beforeCreatea ’); },

created: function () { console.log('createda ' ); },

beforeMount:function(){ console.log('beforeMounta’); },

mounted:function(){ console.log('mounteda’); }

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 导入vue封装的js文件 --><script src="js/vue.js"></script></style></head><body><div id="app"></div><script> var app = new Vue({el: '#app', data: {},methods:{  },//vue对象的声明周期钩子函数,在生命周期的每个阶段提供一个函数,供我们执行某些需要的操作beforeCreate() {console.log("vue对象创建之前")},created() {console.log("vue对象创建完成")},beforeMount() {console.log("vue对象与标签绑定之前")},mounted() {console.log("vue对象与标签绑定之后")//常用的,当vue对象创建成功后,与标签绑定成功后执行我们想要的操作//类似于之前的onlood事件this.test();								   }})</script></body>
</html>

运行

 

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

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

相关文章

Mysql和ES使用汇总

一、mysql和ES在业务上的配合使用 一般使用时使用ES 中存储全文检索的关键字与获取的商品详情的id&#xff0c;通过ES查询获取查询商品的列表中展示的数据&#xff0c;通过展示id 操作去获取展示商品的所有信息。mysql根据id去查询数据库数据是很快的&#xff1b; 为什么ES一般…

10 - Python文件编程和异常

文件和异常 在实际开发中&#xff0c;常常需要对程序中的数据进行持久化操作&#xff0c;而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词&#xff0c;可能需要先科普一下关于文件系统的知识&#xff0c;对于这个概念&#xff0c;维基百科上给出…

亚马逊云科技AWS免费大热AI应用开发证书(含题库、开卷)

亚马逊云科技AWS官方生成式AI免费证书来了&#xff01;内含免费AI基础课程&#xff01;快速掌握AWS的前沿AI技术&#xff0c;后端开发程序员也可以速成AI专家&#xff0c;了解当下最&#x1f525;的AWS AI架构解决方案&#xff01; 本证书内容包括AWS上的AI基础知识&#xff0c…

剖析DeFi交易产品之UniswapV4:Swap

文章首发于公众号&#xff1a;Keegan小钢 Swap 可分为两种场景&#xff1a;单池交易和跨池交易。在 PoolManager 合约里&#xff0c;要完成交易流程&#xff0c;会涉及到 lock()、swap()、settle()、take() 四个函数。单池交易时只需要调一次 swap() 函数&#xff0c;而跨池交易…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(七)-shell语法(5)

shell语法的一些知识和练习&#xff0c;可以当作笔记收藏一下&#xff01;&#xff01; 文章目录 前言 一、shell 二、shell语法 1.文件重定向 2.引入外部脚本 3.作业 总结 前言 shell语法的一些知识和练习&#xff0c;可以当作笔记收藏一下&#xff01;&#xff01; 提示&…

七种大模型微调方法:让你的Offer拿到爽

在当今的人工智能和机器学习领域&#xff0c;大型预训练模型&#xff08;如GPT、BERT等&#xff09;已成为解决自然语言处理&#xff08;NLP&#xff09;任务的强大工具。然而&#xff0c;要让这些模型更好地适应特定任务或领域&#xff0c;往往需要进行微调。本文将详细介绍七…

手把手教你:如何在51建模网免费下载3D模型?

作为国内领先的3D互动展示平台&#xff0c;51建模网不仅汇聚了庞大的3D模型资源库&#xff0c;供用户免费下载&#xff0c;更集成了在线编辑、格式转换、内嵌展示及互动体验等一站式功能&#xff0c;为3D创作者及爱好者搭建起梦想与现实的桥梁。 如何在51建模网免费下载3D模型…

鸿蒙认证值得考吗?

鸿蒙认证值得考吗&#xff1f; 鸿蒙认证&#xff08;HarmonyOS Certification&#xff09;是华为为了培养和认证开发者在鸿蒙操作系统&#xff08;HarmonyOS&#xff09;领域的专业技能而设立的一系列认证项目。这些认证旨在帮助开发者和企业工程师提升在鸿蒙生态中的专业技能…

linux——IPC 进程间通信

IPC 进程间通信 interprocess communicate IPC&#xff08;Inter-Process Communication&#xff09;&#xff0c;即进程间通信&#xff0c;其产生的原因主要可以归纳为以下几点&#xff1a; 进程空间的独立性 资源隔离&#xff1a;在现代操作系统中&#xff0c;每个进程都…

图解 Kafka 架构

写在前面 Kafka 是一个可横向扩展&#xff0c;高可靠的实时消息中间件&#xff0c;常用于服务解耦、流量削峰。 好像是 LinkedIn 团队开发的&#xff0c;后面捐赠给apache基金会了。 kafka 总体架构图 Producer&#xff1a;生产者&#xff0c;消息的产生者&#xff0c;是消息的…

怎么把录音转文字?推荐几个简单易操作的方法

在小暑这个节气里&#xff0c;炎热的天气让人分外渴望效率up&#xff01;Up&#xff01;Up&#xff01; 对于那些在会议或课堂中急需记录信息的朋友们&#xff0c;手写笔记的速度往往难以跟上讲话的节奏。此时&#xff0c;电脑录音转文字软件就像一阵及时雨&#xff0c;让记录…

PHP pwn 学习 (1)

文章目录 A. PHP extensions for C1. 运行环境与工作目录初始化2. 构建与加载3. 关键结构定义PHP_FUNCTIONINTERNAL_FUNCTION_PARAMETERSzend_execute_data等ZEND_PARSE_PARAMETERS_START等zend_parse_arg_stringzend_module_entryzend_function_entry等PHP类相关 原文链接&…

Python 作业题1 (猜数字)

题目 你要根据线索猜出一个三位数。游戏会根据你的猜测给出以下提示之一&#xff1a;如果你猜对一位数字但数字位置不对&#xff0c;则会提示“Pico”&#xff1b;如果你同时猜对了一位数字及其位置&#xff0c;则会提示“Fermi”&#xff1b;如果你猜测的数字及其位置都不对&…

Flower花所:稳定运营的数字货币交易所

Flower花所是一家稳定运营的数字货币交易所&#xff0c;致力于为全球用户提供安全、高效的数字资产交易服务。作为一家长期稳定运营的数字货币交易平台&#xff0c;Flower花所以其可靠的技术基础和优质的客户服务而闻名。 平台稳定性与可靠性&#xff1a; 持续运营&#xff1a;…

Vue前端练习

此练习项目只涉及前端&#xff0c;主要是vue和ElementUI框架的使用。&#xff08;ElementUI官网&#xff1a;Element - The worlds most popular Vue UI framework&#xff09; 一、环境准备 安装idea 安装Node.js 一键式安装(不需要做任何配置) npm -v&#xff08;也可用nod…

mysql-sql-第十五周

学习目标&#xff1a; sql 学习内容&#xff1a; 41.查询没有学全所有课程的同学的信息 select *from students where students.stunm not in (select score.stunm from score group by score.stunm having count(score.counm) (select count(counm) from course)) 42.查询…

数据结构_线性表

线性表的定义和特点 线性表是具有相同特性的数据元素的一个有限序列 :线性起点/起始节点 :的直接前驱 :的直接后继 :线性终点/终端节点 n:元素总个数,表长 下标:是元素的序号,表示元素在表中的位置 n0时称为空表 线性表 由n(n>0)个数据元素(结点),组成的有限序列 将…

安卓模拟器如何修改ip地址

最近很多老铁玩游戏的&#xff0c;想多开模拟器一个窗口一个IP&#xff0c;若模拟器窗口开多了&#xff0c;IP一样会受到限制&#xff0c;那么怎么更换自己电脑手机模拟器IP地址呢&#xff0c;今天就教大家一个修改模拟器IP地址的方法&#xff01;废话不多说&#xff0c;直接上…

alibaba EasyExcel 简单导出数据到Excel

导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.1</version> </dependency> 1、alibaba.excel.EasyExcel导出工具类 import com.alibaba.excel.EasyExcel; import …

探索哈希函数:数据完整性的守护者

引言 银行在处理数以百万计的交易时&#xff0c;如何确保每一笔交易都没有出错&#xff1f;快递公司如何跟踪成千上万的包裹&#xff0c;确保每个包裹在运输过程中没有丢失或被替换&#xff1f;医院和诊所为庞大的患者提供有效的医疗保健服务&#xff0c;如何确保每个患者的医疗…