Vue模板详解

本文详细介绍了Vue中如何通过模板方法操作DOM,包括插入文本、HTML片段、动态属性、表达式、指令,以及如何在HTML模板中使用v-html指令、绑定属性与JS对象属性、JS表达式、指令和动态绑定,以及绑定修饰符的应用。
摘要由CSDN通过智能技术生成
Vue模板方法是一种对HTML片段的操作方法,包括了插入属性值、HTML片段、文本、动态属性、表达式、指令等。
根据前端是由BOM+DOM+js组成的来看,vue对DOM的操作是将DOM的整体结构设定为单页面结构,每个组件都有自己的template,这段template模板是可以插入文本、HTML片段、HTML属性、js表达式、动态绑定HTML属性和js组件对象属性、指令、修饰符等。对模板的操作是从以前直接对HTML操作的一种封装。
1、在HTML模板中插入文本
<div>{{ msg }}</div>

2、在HTML模板中插入不经编译处理的HTML片段
模板定义:
shtml:string

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

模板初始化:
shtml="<span id='a'>inner html</span>"

模板解析效果:
<span id="a">inner html</span>

v-html  attribute 被称为一个 指令 。指令由  v-  作为前缀,表明它们是一些由 Vue 提供的特殊 attribute。在使用组件的时候,包含v-html的标签将会解析成包含v-html属性值为innerHtml的标签。因为这种解析过程是直接插入,不会经过Vue的编译过程,容易导致xss攻击。使用v-html标签的时候,要保证v-html属性的值来源于可信的源头。
3、在HTML模板中绑定属性与js对象属性的关联关系
     3.1、绑定的属性,取值范围不是boolean类型时
模板定义:
syncId:string

<div v-bind:id="syncId">bind id attribuute</div>

模板初始化:
syncId="abc"

模板解析效果:
<div id="abc">bind id attribuute</div>

     3.2、绑定的属性,取值范围是boolean类型时
模板定义:
btype:boolean

name:<input type="text" name="name" :disbaled="btype">

模板初始化:
btype='true'

模板解析效果:
<input type="text" name="name" disbaled="true">

也可以动态绑定多个值
4、在HTML模板中使用js表达式
     js表达式在运行完成后必须是一个值,这个值符合属性的要求,如三目运算符、有返回值的函数等。js表达式在模板中时,尽可以访问有限的全局变量。当然,可以在app.config.globalproperties中添加被表达式使用的全局共享变量。
5、在HTML模板中使用指令
    Vue中的指令一般是带有“v-”前缀的属性,如v-bind、v-html等。
     正常使用的模板指令有v-for、v-if/v-else等。
6、在HTML模板中动态绑定属性
      Vue支持动态绑定,即HTML标签上的属性名称是动态指定的,动态属性的值只能是字符串或者null。动态属性名称以表达式生成时,不能使用引号、空格等,会引起编译器警告。在实际使用过程中,动态绑定的属性和属性值都需要组件给出值。
模板定义:
attr:string
tid:string

<div v-bind:[attr]="tid">this is a good test</div>

模板初始化:
attr="id" tid="avalue"

模板解析效果:
<div id="avalue">this is a good test</div>

7、在HTML模板中绑定修饰符
    修饰符是以点开头的特殊后缀,表明指令是以一种特殊的方式被绑定。
<form @submit.prevent="onSubmit">...</form>

   这段代码表示表单的submit事件触发后,先调用event.preventDefault()方法,然后再调用onSubmit函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值