Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue.JS基础以及本地指令:v-text,v-html,v-on,v-show

Vue.JS基础以及本地指令:v-text,v-html,v-on,v-show

作者头像
SingYi
发布于 2022-07-14 07:00:31
发布于 2022-07-14 07:00:31
1.4K00
代码可运行
举报
文章被收录于专栏:Lan小站Lan小站
运行总次数:0
代码可运行

为了不让这位爷的青春终结,我来日更了。

感谢各位的支持。

这几天学了点Django,感觉js也得接触下了,于是看到学习站上有一套黑马程序员的4小时快速入门Vue.js的教程,发现Vue.Js似乎挺容易的。

Vue.Js官方文档:https://cn.vuejs.org/v2/guide/

第一个指令:v-text:设置标签的文本值(textContent)

首先如果要在网页中使用Vue.Js的话就得先引用Vue(在官方文档有两句,第一句适合开发环境,会有相应提示,第二句更加的快,适合生成环境)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 生产环境版本,优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>

到这里代码就分为两部分了,一部分写在html中,一部分写在JS中(大概就是用过JS渲染HTML内容了)。

打开了尘封已久的VS Code,并写入了对于Vue的HelloWorld

首先来解释一下这两句话(凭个人感觉理解):

首先是html里面的这句,新建一个div,ID为Lan,为了方便JS操作的时候找得到这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <!-- www.lanol.cn -->
    <div id="Lan">
        {{ message }}
    </div>

这里应该是新建一个app,vue型的,el是选择中我们之前创建的div,data就是数据,message就是我们要展现的text

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
            var app = new Vue({
                el: '#Lan',
                data: {
                    message: 'Hello Vue!'
                }
            })

首先呢,这个message有两种写法,第一种就是我们刚刚写的Hello Vue这种,用{{}}包围起来,这种写法不会清除原有的内容,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <!-- www.lanol.cn -->
    <div id="Lan">
        {{ message }}
    </div>

而另一种写法就是写在标签的属性区,这样写也是可以的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <!-- www.lanol.cn -->
    <div id="Lan" v-text='message'>
    </div>

然后我们来对比一下两者的区别。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <!-- www.lanol.cn -->
    <div id="Lan">
        <h2>{{message}}www.lanol.cn</h2>
        <h2 v-text='message'>www.lanol.cn</h2>
    </div>

由图可以看见,放在{{}}内的www.lanol.cn显示出来了而放在属性区的则看不见了,这就是两者区别了。

在这里面你还可以进行字符串的拼接等操作,如果是{{}}直接加就可以了,而属性区则需要一个+号和引号(因为我包含message用的是单引号,所以里面只能用双引号了如果Python一样)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div id="Lan">
        <h2>{{message}}www.lanol.cn</h2>
        <h2 v-text='message'>www.lanol.cn</h2>
        <h2 v-text='message+"www.lanol.cn"'></h2>
    </div>

然后需要注意的是message内的内容可以是列表、字典等数据类型(用Python的话说)

第二个指令:v-html:设置标签的innerhtml(说白了就是用JS写HTMl)

这个指令呢就对比着上一个v-text来记录一下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body>
    <!-- www.lanol.cn -->
    <div id="Lan">
        <h2 v-text='message'></h2>
        <h2 v-html='message'></h2>
    </div>

    <script>
        var app = new Vue({
            el: '#Lan',
            data: {
                message: '<h1>www.lanol.cn</h1>'
            }
        })
    </script>
</body>

可以看见使用了v-text的被直接显示出来了,而v-html则被渲染了,就这?就这。

第三个指令:v-on:为元素绑定事件(click,dblclick,monseenter)

使用方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div id="Lan">
        <input type="button" value="按钮" v-on:事件名="方法">
        <input type="button" value="按钮" @事件名="方法">
    </div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var app = new Vue({
    el:"#Lan",
    methods:{
    dolt:function(){
    }
    }
)}

这里有两种写法,第一个是v-on:事件名="方法",第二个是比较简便的只需要@即可

然后这里就只演示一下click的事件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body>
    <div id="Lan">
        <input type="button" value="点击按钮" v-on:click="dolt">
        <input type="button" value="点击按钮" @click="dolt">
    </div>

    <script>
        var app = new Vue({
            el: '#Lan',
            methods: {
                dolt: function() {
                    console.log("Lan点击了按钮")
                }
            }
        })
    </script>
</body>

到此,三个基本指令已经写完了,发现掌握一个东西的最好办法就是将他自己用文字写一遍,就像我这样写一篇笔记,记录一下。

最后这是一个点击就数字就增加或减少的DEMO,过大过小则提示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>VueJS基本指令学习By:Lan</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
    <div id="Lan">
        <input type="button" value="加" @click="add">
        <input type="button" value="减" @click="sub">
        <h2>{{num}}</h2>
    </div>
    <script>
        var app = new Vue({
            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则不显示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h2 v-show='num>=18'>{{num}}</h2>

因为一开始是1,所以不会显示。

然后我们不断点击加知道超过18看看。

第五个指令:v-if:根据表达式的真假切换元素的显示状态。

本质是通过操纵dom元素来切换显示状态,表达式的值为true,元素存在于dom树中,为false从dom树中移除

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h2 v-if='num>18'>{{num}}</h2>

第六个指令:v-bind:设置元素的属性(src,title,class)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body>
    <div id="Lan">
        <img v-bind:src="imgSrc" v-bind:title='imgTitle'><br>
        <img :src="imgSrc" :title='imgTitle'><br>
    </div>
    <script>
        var app = new Vue({
            el: '#Lan',
            data: {
                imgSrc: 'https://pan.lanol.cn/zb_users/theme/Blogs/image/logo.png',
                imgTitle: 'https://www.lanol.cn'
            },
        })
    </script>
</body>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue之v-text、v-html及v-on标签基本使用
文章目录 本地应用 1. v-text:设置标签的文本值 2. v-html:设置标签的innerHTML 3. v-on基础:为元素绑定事件 本地应用 1. v-text:设置标签的文本值 <bod
兮动人
2021/06/11
1.4K0
vue之v-text、v-html及v-on标签基本使用
2-本地应用:Vue指令
v-text指令用于设置标签的文本值,有两种设置标签文本值的方式,方式一就是通过v-text指令向标签传入值,但这种传入方式会整个替换掉标签内的全部文本信息,如果我们需要特殊化的修改某一部分文本值,就需要用到第二个方式,使用插值表达式传入值
Ywrby
2022/10/27
1.2K0
2-本地应用:Vue指令
教育平台项目前端:Vue.js 入门
Vue.js 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用。
RendaZhang
2020/09/08
4.4K0
【vue学习】2.本地应用——内容绑定,事件绑定
本地应用——内容绑定,事件绑定 v-test 作用: 设置标签的文本值 <body> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <h2 id="app-2" v-text="message"> </h2> <script> var app2 = new Vue({ el: '#app-2', data: {
Swingz
2020/12/18
4890
Vue基础
注意:使用v-text时,会将标签内部的内容覆盖并且替换成对应的内容,若不希望内容被覆盖,则不可使用v-text的写法,两种写法都支持表达式,如:v-text="message + ‘!’",{{ message + “!” }}。
Cikian.
2022/09/22
2.7K0
Vue基础
Vue学习
Vue基础 官网链接 vue简介 JavaScript 框架 简化Dom操作 响应式的数据驱动 Vue导入 `<!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> (适合初学者) 或者: <!-- 生产环境版本,优化了尺寸和速度 --> <script src="https://cdn.jsdelivr.net/npm/vue"></script> el介
用户7168270
2020/04/06
1.1K0
Vue学习
Vue新手入门指南(易懂)
Vue语法与JavaScript一样写在script中,通过id选择器绑定DOM,在Vue中,只需要在el中对DOM的id进行挂载,可以简单的理解为钩子,el通过id=”app”的特征钩住了<div>中的所有内容,这样我们就可以在Vue中实现对DOM中的操作。
全栈程序员站长
2022/08/18
9580
Vue新手入门指南(易懂)
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
v-text会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的这个占位符,不会把 整个元素的内容清空。v-html会解析文本中的html标签后展示。具体代码如下:
共饮一杯无
2022/11/28
1.5K0
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
Vue入门(二)——本地应用
为元素绑定事件,方法内部通过this关键字可以访问定义在data中的数据。简写为@。
matt
2022/10/25
7670
Vue入门(二)——本地应用
基础系列(二)模板语法 - 插值语法 - 指令语法 - | v-bind | v-model | v-on | v-if | v- show
注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。
Qwe7
2022/06/29
9540
Vue2学习计划五:v-on、v-model、v-if、v-for和v-show
我们前面学习了,{{}}和v-bind,这两货可以让我们将Vue实例中的数据绑定到DOM中。那么,产品经理又开始有奇怪的需求了,比如我们要点击按钮更换图片怎么办?怎么办呢?我们目前只会将数据绑定到DOM上,如何监听DOM里的事件,然后作用到Vue实例数据上呢?别急,这正是今天要学的v-on的主场。
松鼠先生
2022/02/22
4.3K0
Vue2学习计划五:v-on、v-model、v-if、v-for和v-show
Vue的基本组件1(show,bind,on,if)
简介:本文旨在用最短的篇幅和例子,代入大家入门vue,也是本博主的一个学习记录,本文主要介绍的组件有,v-text,v-html,v-on,v-if。
GeekLiHua
2025/01/21
880
Vue的基本组件1(show,bind,on,if)
Vue(上)
新建一个Html项目(在vscode中输入 ! 加 Tab键 可快速生成一个标准的Html模板);
十玖八柒
2022/08/01
2.5K0
Vue(上)
Vue.js基础特性
计算属性 computed 与data,el,methods属性一样,都是vm实例的属性(选项) 理解其大致意思即可
河湾欢儿
2018/09/06
1.9K0
谷粒商城—分布式基础(Vue篇)
v-xx:指令 1、创建vue实例,关联页面的模板,将自己的数据(data)渲染到关联的模板,响应式的 2、指令来简化对dom的一些操作。 3、声明方法来做更复杂的操作。methods里面可以封装方法。
OY
2022/03/20
1.1K0
谷粒商城—分布式基础(Vue篇)
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
首先,你可以在这里下载本文使用到的vue.js文件,使用的是v2.6.10开发版本。
前端修罗场
2023/10/07
3330
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
【第一季】Vue2.0内部指令
学习这套课程你需要的前置知识: HTML的基础知识,你需要达到中级水平,写前端页面的结构代码完全没有问题。 CSS的基础知识,最好做过半年以上的切图和布局,最好了解CSS3的知识。 Javascript的基础知识,对基本语法掌握,这个要求不高,因为遇到难的我会在视频中讲解。 node.js初级知识,只需要会npm的使用和项目初始化就可以了 如果你对上面三个知识还不了解,建议不要冒进学习,会影响你的学习热情。但你已经是科班出身或者在培训班毕业后想继续学习,是完全没有难度的。 学习方法:学完视频之后,一定
用户1212940
2018/01/23
1.2K0
【第一季】Vue2.0内部指令
【编程鹿】学Vue.js这一篇就够了「万字学会|通俗易懂」上篇
在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中。
鹿老师的Java笔记
2020/12/02
12.6K0
【编程鹿】学Vue.js这一篇就够了「万字学会|通俗易懂」上篇
一篇文章带你了解网页框架——Vue简单入门
如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助
秋落雨微凉
2022/10/25
1K0
一篇文章带你了解网页框架——Vue简单入门
前端基础-Vue.js模板语法(指令)
指令 (Directives) 是带有 v- 前缀的特殊 特性 相当于自定义html属性。指令特性的值预期是单个 JavaScript 表达式 (v-for 是例外情况,稍后我们再讨论)。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM;参考 手册 、 API
cwl_java
2020/03/26
9.2K0
相关推荐
vue之v-text、v-html及v-on标签基本使用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验