[WEB] Vue.JS基础以及本地指令:v-text,v-html,v-on,v-show
作者:CC下载站 日期:2020-06-18 00:00:00 浏览:62 分类:站长帮
为了不让这位爷的青春终结,我来日更了。感谢各位的支持。
这几天学了点Django,感觉js也得接触下了,于是看到学习站上有一套黑马程序员的4小时快速入门Vue.js的教程,发现Vue.Js似乎挺容易的。
Vue.Js官方文档:https://cn.vuejs.org/v2/guide/
第一个指令:v-text:设置标签的文本值(textContent)
首先如果要在网页中使用Vue.Js的话就得先引用Vue(在官方文档有两句,第一句适合开发环境,会有相应提示,第二句更加的快,适合生成环境)
<!--开发环境版本,包含了有帮助的命令行警告--> <scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--生产环境版本,优化了尺寸和速度--> <scriptsrc="https://cdn.jsdelivr.net/npm/vue"></script>
到这里代码就分为两部分了,一部分写在html中,一部分写在JS中(大概就是用过JS渲染HTML内容了)。
打开了尘封已久的VS Code,并写入了对于Vue的HelloWorld
首先来解释一下这两句话(凭个人感觉理解):
首先是html里面的这句,新建一个div,ID为Lan,为了方便JS操作的时候找得到这个
<!--www.lanol.cn--> <divid="Lan"> {{message}} </div>
这里应该是新建一个app,vue型的,el是选择中我们之前创建的div,data就是数据,message就是我们要展现的text
varapp=newVue({ el:'#Lan', data:{ message:'HelloVue!' } })
首先呢,这个message有两种写法,第一种就是我们刚刚写的Hello Vue这种,用{{}}包围起来,这种写法不会清除原有的内容,
<!--www.lanol.cn--> <divid="Lan"> {{message}} </div>
而另一种写法就是写在标签的属性区,这样写也是可以的。
<!--www.lanol.cn--> <divid="Lan"v-text='message'> </div>
然后我们来对比一下两者的区别。
<!--www.lanol.cn--> <divid="Lan"> <h2>{{message}}www.lanol.cn</h2> <h2v-text='message'>www.lanol.cn</h2> </div>
由图可以看见,放在{{}}内的www.lanol.cn显示出来了而放在属性区的则看不见了,这就是两者区别了。
在这里面你还可以进行字符串的拼接等操作,如果是{{}}直接加就可以了,而属性区则需要一个+号和引号(因为我包含message用的是单引号,所以里面只能用双引号了如果Python一样)
<divid="Lan"> <h2>{{message}}www.lanol.cn</h2> <h2v-text='message'>www.lanol.cn</h2> <h2v-text='message+"www.lanol.cn"'></h2> </div>
然后需要注意的是message内的内容可以是列表、字典等数据类型(用Python的话说)
第二个指令:v-html:设置标签的innerhtml(说白了就是用JS写HTMl)
这个指令呢就对比着上一个v-text来记录一下。
<body> <!--www.lanol.cn--> <divid="Lan"> <h2v-text='message'></h2> <h2v-html='message'></h2> </div> <script> varapp=newVue({ el:'#Lan', data:{ message:'<h1>www.lanol.cn</h1>' } }) </script> </body>
可以看见使用了v-text的被直接显示出来了,而v-html则被渲染了,就这?就这。
第三个指令:v-on:为元素绑定事件(click,dblclick,monseenter)
使用方法:
<divid="Lan"> <inputtype="button"value="按钮"v-on:事件名="方法"> <inputtype="button"value="按钮"@事件名="方法"> </div>
varapp=newVue({ el:"#Lan", methods:{ dolt:function(){ } } )}
这里有两种写法,第一个是v-on:事件名="方法",[email protected]
然后这里就只演示一下click的事件
<body> <divid="Lan"> <inputtype="button"value="点击按钮"v-on:click="dolt"> <inputtype="button"value="点击按钮"@click="dolt"> </div> <script> varapp=newVue({ el:'#Lan', methods:{ dolt:function(){ console.log("Lan点击了按钮") } } }) </script> </body>
到此,三个基本指令已经写完了,发现掌握一个东西的最好办法就是将他自己用文字写一遍,就像我这样写一篇笔记,记录一下。
最后这是一个点击就数字就增加或减少的DEMO,过大过小则提示
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <title>VueJS基本指令学习By:Lan</title> <!--开发环境版本,包含了有帮助的命令行警告--> <scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <divid="Lan"> <inputtype="button"value="加"@click="add"> <inputtype="button"value="减"@click="sub"> <h2>{{num}}</h2> </div> <script> varapp=newVue({ el:'#Lan', data:{ num:1 }, methods:{ add:function(){ if(this.num>20){ alert('太大了') }else{ this.num++; console.log(this.num) } }, sub:function(){ if(this.num<=0){ alert('太小了') }else{ this.num--; console.log(this.num) } }, } }) </script> </body> </html>
第四个指令:v-show:根据条件决定元素是否显示(并不会从dom树中删除)。
这里呢继续用上一个DEMO来展示。给h2标签加一个v-show='true'
再将这个ture改为false来看一下,发现已经隐藏了,但是源码里面还是可以看得到的
这个true和false就和Python里面的if条件一样,也可以用其他办法来确定真假,如数字未满18则不显示。
<h2v-show='num>=18'>{{num}}</h2>
因为一开始是1,所以不会显示。
然后我们不断点击加知道超过18看看。
第五个指令:v-if:根据表达式的真假切换元素的显示状态。
本质是通过操纵dom元素来切换显示状态,表达式的值为true,元素存在于dom树中,为false从dom树中移除
<h2v-if='num>18'>{{num}}</h2>
第六个指令:v-bind:设置元素的属性(src,title,class)。
<body> <divid="Lan"> <imgv-bind:src="imgSrc"v-bind:title='imgTitle'><br> <img:src="imgSrc":title='imgTitle'><br> </div> <script> varapp=newVue({ el:'#Lan', data:{ imgSrc:'https://pan.lanol.cn/zb_users/theme/Blogs/image/logo.png', imgTitle:'https://www.lanol.cn' }, }) </script> </body>
猜你还喜欢
- 06-04 [站长技术] 如何开启WordPress Multisite多站点网络
- 03-29 [环境测试] Hexo部署GitHub Pages
- 03-22 [源码设置] 如何设置Xiuno BBS URL-Rewrite(伪静态设定)
- 03-06 [建站交流] PicGo + smms 构建图床
- 11-18 [emlog技巧] Emlog非插件显示评论者IP属地
- 11-09 [网站维护] WordPress 后台速度慢?加快仪表板速度的 15 种方法
- 11-09 [WordPress插件] 10 个最好用的 WordPress 聊天机器人插件(免费和付费)
- 11-09 [WordPress开发] 探索 WordPress 6.3 中的增强样板(Patterns)
- 11-09 [网站维护] 无需插件即可优化 WordPress 速度的 12 种策略
- 11-09 [网站安全] WordPress 安全统计:WordPress 到底有多安全?
- 09-20 [jsp技术] JSP ssm 特殊人群防走失系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
- 09-15 [Lightsail容器] AWS Lightsail VPS:一种在云中运行容器的简单方法
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[电视剧] 芈月传 【全集81集全】【未删减版】【国语中字】【2015】【HD720P】【75G】
[电视剧] 封神榜 梁丽版 (1989) 共5集 480P国语无字 最贴近原著的一版【0.98 G】
[影视] 【雪山飞孤4个版本】【1985、1991、1999、2007】【1080P、720P】【中文字幕】【167.1G】
[资料] 24秋初中改版教材全集(全版本)[PDF]
[电影] 高分国剧《康熙王朝》(2001)4K 2160P 国语中字 全46集 78.2G
[动画] 迪士尼系列动画139部 国英双语音轨 【蓝光珍藏版440GB】
[电影] 莫妮卡贝鲁奇为艺术献身电影大合集 1080P超清 双语字幕
[电影] DC电影宇宙系列合集18部 4K 高码率 内嵌中英字幕 273G
[音乐] 【坤曲/4坤时】鸡你太美全网最全,385首小黑子战歌,黄昏见证虔诚的信徒,巅峰诞生虚伪的拥护!
[音乐] 用餐背景音乐大合集 [MP3/flac]
[书籍] 彭子益医书合集 [PDF/DOC]
[游戏] 《黑神话悟空》免安装学习版【全dlc整合完整版】+Steam游戏解锁+游戏修改工具!
[动画] 《名侦探柯南》名侦探柯南百万美元的五菱星 [TC] [MP4]
[电视剧集] [BT下载][黑暗城市- 清扫魔 Dark City: The Cleaner 第一季][全06集][英语无字][MKV][720P/1080P][WEB-RAW]
[动画] 2002《火影忍者》720集全【4K典藏版】+11部剧场版+OVA+漫画 内嵌简日字幕
[剧集] 《斯巴达克斯》1-4季合集 无删减版 1080P 内嵌简英特效字幕
[CG剧情] 《黑神话:悟空》158分钟CG完整剧情合集 4K120帧最高画质
[短剧] 被下架·禁播的羞羞短剧·午夜短剧合集
[游戏] 黑神话悟空离线完整版+修改器
[图像处理] 光影魔术手v4.6.0.578绿色版
[影视] 美国内战 4K蓝光原盘下载+高清MKV版/内战/帝国浩劫:美国内战(台)/美帝崩裂(港) 2024 Civil War 63.86G
[影视] 一命 3D 蓝光高清MKV版/切腹 / 切腹:武士之死 / Hara-Kiri: Death of a Samurai / Ichimei 2011 一命 13.6G
[影视] 爱情我你他 蓝光原盘下载+高清MKV版/你、我、他她他 2005 Me and You and Everyone We Know 23.2G
[影视] 穿越美国 蓝光原盘下载+高清MKV版/窈窕老爸 / 寻找他妈…的故事 2005 Transamerica 20.8G
[电影] 《黄飞鸿》全系列合集
[Android] 开罗游戏 ▎像素风格的模拟经营的游戏厂商安卓游戏大合集
[游戏合集] 要战便战 v0.9.107 免安装绿色中文版
[书籍] 彭子益医书合集 [PDF/DOC]
[资源] 精整2023年知识星球付费文合集136篇【PDF格式】
[系统]【黑果小兵】macOS Big Sur 11.0.1 20B50 正式版 with Clover 5126 黑苹果系统镜像下载
- 最新评论
-
怎么没有后续闲仙麟 评论于:11-03 怎么没后续闲仙麟 评论于:11-03 有靳东!嘻嘻奥古斯都.凯撒 评论于:10-28 流星花园是F4处女作也是4人集体搭配的唯一一部!奥古斯都.凯撒 评论于:10-28 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢AAAAA 评论于:10-26 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢password63 评论于:10-26 找了好久的资源,终于在这里找齐了!!!!blog001 评论于:10-21 找了好久的资源,终于在这里找齐了!!!!blog001 评论于:10-21 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢WillKwok 评论于:10-09 感谢分享1234123 评论于:10-07
- 热门tag