一、插值

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. python_如何派生内置不可变类型并修改实例化行为

    案例: 我们想要自定义新类型的元组,对传入的可迭代对象我们只保留其中的int类型并且值大于0的元素,如下: [1, -2, 'xxx', 7, [1, 'oo'], 9]  >> (1, ...

  2. The POM for * is invalid

    The POM for yanan:jar:1.0-SNAPSHOT is invalid, transitive dependencies (if any) will not be availabl ...

  3. Android5.0新控件

    谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种.  1. CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLay ...

  4. sqlserver数据库使用技巧(一)--限制数据库的大小

    如何限制数据库的大小? 随着数据库的使用,他占用的空间会越来越大,为了便于资源的合理分配和管理,我们可以限制其最大的大小,这个建议只在测试环境使用 具体操作如下: 打开sqlserver数据库管理工具 ...

  5. Python随笔,day1

    #python中不存在单个字符的运算,只有字符串函数 >>> s="www.google.com" >>> s 'www.google.com' ...

  6. rabbitMQ的安装和配置(一)

    erlang是一门面向并发的编程语言,流行的消息队列rabbitMQ是基于erlang环境运行的: 系统环境 操作系统:oracle-linux7.3 erlang版本:otp_src_20.0 下载 ...

  7. HTML5之Notification简单使用

    var webNotification = { init: function() { if(!this.isSupport()) { console.log('不支持通知'); return; } t ...

  8. 使用FileReader实现前端预览所选图片

    需求描述 在浏览器环境下进开发网站(也就是B/S架构的应用),获取到当前设备上的图片后,希望可以在上传到服务器前简单预览一下图片内容. 具体实现 主要代码 html 部分 <input type ...

  9. bootstrap tabs 默认tab页的使用方式

    HTML中引入tabs如下: <ul class="nav"> <li><a href="#a" tt="A.html& ...

  10. Hexo中添加本地图片

    First 1 把主页配置文件_config.yml 里的post_asset_folder:这个选项设置为true 2 在你的hexo目录下执行这样一句话npm install hexo-asset ...