一、插值

1、文本

数据绑定最常见的形式是使用双大括号({{  }}——“Mustache”语法)的文本插值

<div class="mustache">
<span>小红:{{ juice }}</span>
<span v-once>不变的选择:{{ juice1 }}</span>
</div> juice: '奇异果',
juice1: '百香果' 

2、原始HTML:双大括号会将数据解释为普通文本,而非HTML代码;为了输出真正的HTML,可以使用v-html指令;

    <div>
<p>mustache普通文本: {{ rawHtml }}</p>
<p>使用v-html: <span v-html="rawHtml"></span></p>
</div>     rawHtml: '<span style="color:lightblue">html输出,这里是蓝色的呦~</sapn>',

3、特性

“Mustache”语法不能用在HTML特性上,遇到这种情况应该使用 v-bind指令;

1)、v-bind使用方法:

(1)动态的绑定一个或多个特性,,或一个组件prop到表达式;

(2)在绑定class或style特性时,支持其他类型的值,如数组或对象;

(3)在绑定prop时,prop必须在子组件中声明。可以用修饰符制定不同的绑定类型;

(4)没有参数时,可以绑定到一个包含键值对的对象;注意:此时,class和style绑定不支持数组和对象;

2)、举例:

在布尔特性的情况下,他们的存在即暗示为true

<template>
<div class="hello" >
<div class="bind">
<button v-bind:disabled="isButtonDisabled">button</button>
</div>
</div>
</template> <script>
export default {
name: 'HelloWorld',
data () {
return {
isButtonDisabled: true
}
}
}
</script>

    

4、使用JavaScript表达式

除了绑定简单的属性键值,对于所有的数据绑定,vue还可以使用JavaScript表达式;

注意:只是表达式,语句是不会被解析的;

<template>
<div class="hello" >
<div class="javascript_">
<p class="binary">数量: {{ numbers + 1 }}</p>
<p class="ternary">甜度: {{ sweet ? 'sugar' : 'no-sugar' }}</p>
<p class="def">编号: {{ price.split('').reverse().join('') }}</p>
</div>
</div>
</template> <script>
export default {
name: 'HelloWorld',
data () {
return {
numbers: 5,
sweet: true,
price: '23452',
} }
}
</script> <style scoped>
.javascript_ p{
font-size: 16px;
color: cadetblue;
}

二、指令

指令是带有 v- 前缀的特殊属性。指令属性的预期值是单个Javascripit表达式。指令的职责是:当表达式的值改变时将其产生的连带影响,响应式的作用于DOM,

1、参数

一些指令能够接受一个参数,在指令名称之后以冒号表示,例如:

<template>
<div class="hello" >
<div class="direc">
<a class="koudai_link" v-bind:href="url_">口袋学生证</a>
<a class="koudai_link" v-on:click="change_style">点击打印123</a>
</div>
</div>
</template> <script>
export default {
name: 'HelloWorld',
data () {
return {
url_: 'http://koudaixueshengzheng.cn'
}
},
methods: {
change_style: function () {
console.log(123)
}
}
}
</script> <style scoped>
.koudai_link{
font-size: 16px;color: white;text-decoration: none;display: block;background: palevioletred;border-radius: 10px;width: 150px;height: 40px;line-height: 40px;
letter-spacing: 2px;font-weight: bold;margin: 0 auto;margin-bottom: 10px;cursor: pointer;
}
</style> 

    

2、修饰符

修饰符是以半角句号 ‘.’指明的特殊后缀,用于指出一个指令应该以特殊方式绑定;后面详细介绍;

三、缩写

1、v-bind

<!-- 完整语法 -->
<a v-bind:href="url">...</a> <!-- 缩写 -->
<a :href="url">...</a>

2、v-on

<!-- 完整语法 -->
<a v-on:click="doSomething">...</a> <!-- 缩写 -->
<a @click="doSomething">...</a>

初识Vue——模板语法的更多相关文章

  1. Vue模板语法(二)

    Vue模板语法(二) 样式绑定  class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 1.2 style绑 ...

  2. Vue模板语法(一)

    Vue模板语法 一.插值 1.1.1 文本 {{msg}} 1.1.2 html 使用v-html指令用于输出html代码 1.1.3 属性 HTML属性中的值应使用v-bind指令 1.1.4 表达 ...

  3. Vue模板语法(一)

    Vue模板语法 一 vue简介 Vue.js是一套构建用户界面的渐进式框架. 与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层,并且非常容易学习,非常容易与 ...

  4. Vue 模板语法 && 数据绑定

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  5. 初始Vue、Vue模板语法、数据绑定(2022/7/3)

    文章目录 1.Vue简介 1.1.Vue的安装使用 1.2.实际的运用案例 1.3.vue开发工具的使用(这个需要在浏览器中安装) 2.初始Vue 2.1 .基础知识 2.1 .代码实例 2.2 .页 ...

  6. (Vue)vue模板语法

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. ...

  7. Vue模板语法与常用指令

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数,结合相应系统,在应用状态改变时 ...

  8. Vue模板语法(二)

    Vue基础模板语法 二 1. 样式绑定 1.1 class绑定      使用方式:v-bind:class="expression"       expression的类型:字符 ...

  9. (32)Vue模板语法

    模板语法 文本: <span>Message: {{ msg }}</span> v-once 一次性地插值,当数据改变时,插值处的内容不会更新 <span v-once ...

随机推荐

  1. 序列化和Json

    实现了python与python程序之间内存的交互 常用场景: 1 把内存的数据写到磁盘 2 socket只能传字符串,二进制,通过序列化 ============================== ...

  2. Redis-安装、启动

    安装Redis 下载redis安装包http://download.redis.io/redis-stable.tar.gz 解压安装包tar xzf redis-stable.tar.gz 安装cd ...

  3. Django 发送邮件

    问题: 对于一些错误信息或用户注册账号的时候,需要给用户发送邮件进行验证. 以用户注册发邮件为例子,用户向后端提起注册,后端收到用户邮箱,对邮箱格式进行验证,然后发送邮件,邮件内容中包括邮件标题.邮件 ...

  4. BFC(块级格式上下文)

    BFC的生成 满足下列css声明之一的元素便会生成BFC 根元素 float的值不为none overflow的值不为visible display的值为inline-block.table-cell ...

  5. Android studio修改包名

    最后一步,需要手动修改工程 build.gradle文件中的applicationId改为跟你的包名一致即可,

  6. zabbix-proxy搭建

    环境: 因为公司需要监控远程客户机,但server端无法主动连接agent端,客户端可以连接公司ip 公司有固定ip,可以开放某个端口给zabbixserver,客户机agent端可以主动通过外网连接 ...

  7. 【ASP.NET Core】MVC中自定义视图的查找位置

    .NET Core 的内容处处可见,刷爆全球各大社区,所以,老周相信各位大伙伴已经看得不少了,故而,老周不考虑一个个知识点地去写,那样会成为年度最大的屁话,何况官方文档也很详尽.老周主要扯一下大伙伴们 ...

  8. 隐藏C语言黑窗口

    隐藏C语言程序运行的黑窗口,加入预编译命令: (预编译,Linker链接,windows模式,黑窗口是dos模式) #pragma comment(linker,"/subsystem:\& ...

  9. jquery 中json数组的操作 增删改

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  10. iOS-主线程刷新UI【+单例】

    主线程刷新UI dispatch_async(dispatch_get_main_queue(), ^{ /// }); 单例 static Tools *_sharedManger; @implem ...