大家新年好啊,不对,今天是情人节呢,哈哈哈,祝大家节日快乐,你们是不是都出去约约约了啊,好吧,你们都去玩吧,我在家码代码,汗~讲真,这大过年的实在是不愿意学习啊,可是眼看着好久没写博文了,心里有点过意不去了,赶快看了两眼代码,过来更新一篇,呼呼~那我开始码代码了啊,闪开闪开,哈哈哈~~~
OK,从今天开始我们大家一起来看看Vue的使用,然后就是呢,我们今天就先来稍微认识一下,打个照面,看看这货到底是何方神圣搞得我们程序猿们如此难过……

一、vue.js是什么?

这一点vue官方有给出的解释:Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
讲真我也没有搞太明白,但是其实我觉得吧,其实它最大的功能肯定还是精简代码,然后就是给我们省力气的,只不过学习它还是得花费很大的劲,哈哈。

二、基础认知

构建vue操作环境

使用vue.js有很多种方法,我们今天不先去构建vue环境,我们就先用script引入来认识一下vue的基础知识。
就像官方文档说的,vue只关注视图层,那既然这样的话,我们就应该要知道我们需要给vue定义一个操作的空间,需要注意的是这个空间有且仅能有一个哦。好了,说了好多有的没的了,开始上代码说明一下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>vue</title>
</head>
<body><!--以下id名为APP的div就是我们定义的vue唯一的操作空间,记住有且仅有一个哦--><div id="app"></div>
</body>
<script src="../vue.js"></script>
<script>//构造vue实例,对上面定义的空间进行操作new Vue({el:"#app",//绑定操作的DOM节点})
</script>
</html>

有了上述操作,我们就为vue的操作搭好了基础,接下来我们就一起来看一些简单的基础操作吧。

vue的基础操作

对DOM节点的渲染

对DOM节点的基础渲染有两种方法,一种是{{}},一种是v指令的方法。
(1){{}}渲染

<div id="app"><div>{{message1}}<br/>{{message2}}</div>
</div>
new Vue({el:"#app",data:function(){return {message1:"测试数据",message2:"<h1>测试数据</h1>",}}})

这样写,html页面运行出来就会显示测试数据的字样:

就这样,我们在vue实例中定义的message就在vue的操作空间中展示了出来。但是细心的小伙伴一定也注意到了,我们写的h1标签肯定目的不是让它直接显示在视图当中的啊,这也不符合常理啊,对不对,好吧,接下来,我们就来说第二种渲染方式,来解读标签要怎么解析完之后再进行展示。
(2)v指令渲染
在以上代码的基础上,我们再加入一个div,来展示h1标签的代码,这里用到的是v-html的指令

<div v-html="message2"></div>


Duang,h1标签解析出来了哦。
但是这还不算晚,我们都知道带有html字样的指令肯定是会解析h5标签的,但是我们也都知道有html就会有text呀,所以这里我们也会有一个v-text指令,也是不会解析标签的,效果跟{{}}是一样的:

<div v-text="message2"></div>

常用的v指令

好了,既然提到了v指令,我们就索性多说几个常用的v指令好了。
(1)v-if/v-else和v-show条件语句
①v-if/v-else

<div id="app"><p v-if="num==1">num等于1</p><p v-if="num==2">num等于2</p><p v-else>num等于其他值</p>
</div>new vue({el:"app",data:function(){return {num:2,}}
})

以上代码执行完后,显示在页面的就是:num等于2,这是毋庸置疑的。

②v-show

<div id="app"><p v-show="is_show">v-show指令1</p><p v-show="!is_show">v-show指令2</p>
</div>new vue({el:"app",data:function(){return {is_show:true,}}
})

同样的,毋庸置疑的,这里视图上展示的将是v-show指令1:

这就是条件语句的基础使用,当然了三元运算符等等也同样适用。
③v-if和v-show的不同:
就像我们以上看到的,我们想要的结果这两者都可以实现,那我们为什么要学习这两种呢,这就要从性能的角度来看了。

我们在运用的过程中,需要哪个就用哪个就好了。
(3)v-for循环语句
循环我们有对数组的循环和对对象的循环。
①数组循环

<div id="app"><!--for-in循环--><!--不带索引--><li v-for="v in arr">姓名是:{{v.name}},年龄是:{{v.age}}</li><!--带索引--><li v-for="(v,k) in arr">姓名是:{{v.name}},年龄是:{{v.age}},索引是:{{k}}</li>
</div>new Vue({el:"#app",data:function(){return {arr:[{name:"张三",age:19},{name:"李四",age:20},{name:"王五",age:21}],}}
})


数组的循环除了有for-in还有for-of的循环:

<li v-for="(v,k) of arr">姓名是:{{v.name}},年龄是:{{v.age}}</li>


②对象的循环

<div id="app"><!--for-in循环--><!--不带索引--><li v-for="(v,k) in obj">键名是:{{k}},键值是:{{v}}</li><!--带索引--><li v-for="(v,k,index) in obj">键名是:{{k}},键值是:{{v}},索引是:{{index}}</li>
</div>new Vue({el:"#app",data:function(){return {obj:{name:"哈哈",age:18,height:"178cm"},}}
})


(4)v-on事件绑定
同样的,类似js的,vue也会有事件,那事件的绑定就是通过v-on来实现的,可简写为@。
如下例,两个div,一个红色一个蓝色,点击切换展示状态。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>test</title><style>.div1{width: 100px;height: 100px;background-color: red;display: inline-block;}.div2{width: 100px;height: 100px;background-color: blue;display: inline-block;}</style>
</head>
<body>
<div id="app"><button @click="change">点击切换div</button><div class="div1" v-show="show"></div><div class="div2" v-show="!show"></div>
</div>
</body>
<script src="../vue.js"></script>
<script>new Vue({el:"#app",data:function(){return {show:true,}},methods:{change:function(){this.show = !this.show;}}})
</script>
</html>

效果图在此我就不展示了,想要看效果的小伙伴,可以自行粘贴代码去试一下,见谅哦。
然后需要注意的就是事件的绑定有几个修饰符。

prevent:用于阻止默认事件
stop:阻止冒泡
once:事件只触发一次用法:@click.prevent="事件函数名"

(5)v-bind属性绑定
有事件的绑定,相应的就会有属性的绑定,例如class的绑定呀等等。
v-bind可简写为:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>test</title><style>.active1{width: 100px;height: 100px;background-color: red;}.active2{width: 100px;height: 100px;background-color: blue;}</style>
</head>
<body>
<div id="app"><!--点击按钮,就会切换div的颜色--><button @click="judge=!judge">点击切换</button><div :class="show?'active1':'active2'"></div>
</div>
</body>
<script src="../vue.js"></script>
<script>new Vue({el:"#app",data:function(){return {show:true,}},})
</script>
</html>

除了加类名以外,也可以通过v-bind添加样式属性,又叫动态属性。

<div :style="{width:'100px',height:'100px',background:'yellow'}"></div>

OK,这篇的基础认知就说到这里,一会我们继续来说其他的基础知识。

Vue的基础认知一---构建环境/v指令的使用相关推荐

  1. Vue的基础认知二---vue的双向绑定/vue获取DOM节点

    在这篇博文之前,我们已经开了一个vue的头了,需要的小伙伴可以点击这个链接:Vue的基础认知一-构建环境/v指令的使用,好了,我们继续来看我们接下来要看的内容. 一.vue的双向绑定 mvvm框架: ...

  2. ❤️《Vue前端基础框架集合从入门到高级》(小白也可学,建议收藏)❤️

    <Vue前端基础框架集合从入门到高级>,小白也可学 文章目录 <Vue前端基础框架集合从入门到高级>,小白也可学 ❤️一.前端核心分析 ❤️1.1.概述 ❤️1.2.前端三要素 ...

  3. vue零基础——vue2基础知识

    Vue 技术栈 文章目录 Vue 技术栈 1. vue基础知识和原理 1.1 初识Vue 1.1.1. 官网 1.1.2. 介绍与描述 1.1.3. Vue 的特点 1.1.4. 与其它 JS 框架的 ...

  4. Vue的基础入门及使用

    Vue的基础入门及使用 第一章 Vue核心 1.1 Vue的基本认识 1.1.1 官网 英文官网:https://vuejs.org/ 中文官网:https://cn.vuejs.org/ 1.1.2 ...

  5. 视频教程-Vue零基础到精通视频教程-Vue

    Vue零基础到精通视频教程 从事多年web前端开发和教育培训(线上)工作,主要从事web前端工作.php后端工作,在pc端和移动端开发都具有丰富经验,同事有响应式布局.vue框架开发.微信小程序开发经 ...

  6. vue脚手架基础API全面讲解【内附多个案例】

    vscode-插件补充 vue文件代码高亮插件-vscode中安装 代码提示插件-vscode中安装 知识点自测 想学会今天的内容, 先测测这几个会不会 表达式, 变量是什么 new的作用和含义 实例 ...

  7. 一份不错的vue.js基础笔记!!!!

    第一章 Vue.js是什么? Vue(法语)同view(英语) Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项 ...

  8. 深入Vue - 源码目录及构建过程分析

    摘要: Vue源码阅读第一步. 原文:深入vue - 源码目录及构建过程分析 公众号:前端小苑 Fundebug经授权转载,版权归原作者所有. 本文主要梳理一下vue代码的目录,以及vue代码构建流程 ...

  9. 1、配置PHP构建环境

    女主宣言 今天小编为大家分享编写PHP扩展的系列文章,文章从环境构建到扩展编写,会对使用到的相关PHP内核数据结构及API进行介绍,希望能对大家有所帮助. PS:丰富的一线技术.多元化的表现形式,尽在 ...

最新文章

  1. 免费报名 | WPS专家教你文本分类在企业中的应用实践
  2. 查看Windows服务器的CPU详细信息
  3. leetcode(78)子集
  4. 【百战GAN】二次元宅们,给自己做一个专属动漫头像可好!
  5. 中国增材制造市场投资前景与发展投资战略调研报告2022-2028年版
  6. JS-随机生成的密码
  7. Java 设置文件只读
  8. Ubuntu 20.04 LTS 发布最终 Beta 版本
  9. tfs 文件系统部署_使用SQL Server数据工具和使用自定义工作流文件的TFS部署到多个数据库
  10. 支持Android的Qt5预览
  11. 开源web管理系统mysql_10个基于Web的开源项目管理系统
  12. 基于BIM+3DGIS的智慧城市基础设施管理
  13. 概率算法中的Monte carlo算法
  14. linux公社_如何在Linux上搭建个人流媒体服务器
  15. Java项目(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)
  16. java 给一个开学日期,计算当天是开学第几周星期几或者开学第几周星期几为哪一天
  17. 搜狗老域名作用之快速大量搜狗收录
  18. FineReport自动数据点提示轮播接口
  19. 嵌入式系统主要应用于哪些行业中?
  20. Java编程思想读书笔记一:并发

热门文章

  1. ubuntu下安装 memecache
  2. 【C Sharp笔记】2010年9月25日
  3. 【转】SQLite3简介及在.Net程序中的使用(自增列的创建)
  4. 使用WebBrowser控件时在网页元素上绘制文本或其他自定义内容
  5. 广度优先搜索——USACO08FEB(洛谷 P2895)
  6. 贪心——跳跃游戏 II(Leetcode 45)
  7. 贪心算法——合并区间(Leetcode 56)
  8. linux中物理cpu、逻辑cpu以及core、vcore
  9. 参考文献格式字号字体_干货分享|同学,你的论文格式有点不太对啊!
  10. 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...