Vue学习3--数据绑定语法
个人博客插值文本数据绑定最基础的形式是文本插值,使用”Mustache” 语法(双大括号)<span>Message: {{ msg }}</span>Mustache 标签会被相应数据对象的 msg 属性的值替换。每当这个属性变化时他也会更新。你也可以只处理单次插值,今后的数据变化就不会再引起插值更新了:<span> this well never change: {{* msg }} </sp
个人博客
插值
文本
数据绑定最基础的形式是文本插值,使用”Mustache” 语法(双大括号)
<span>Message: {{ msg }}</span>
Mustache 标签会被相应数据对象的 msg 属性的值替换。每当这个属性变化时他也会更新。
你也可以只处理单次插值,今后的数据变化就不会再引起插值更新了:
<span> this well never change: {{* msg }} </span>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据绑定语法</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
<input v-model = 'msg'><br/>
改变:{{ msg }} <br/>
不变:{{* msg }}
</div>
<script>
var Vm = new Vue({
el: '#app',
data: {
msg: 'qqqq'
}
})
</script>
</body>
</html>
原始的HTML
双Mustache 标签将数据解析为纯文本而不是 HTML 。为了输出真的 HTML 字符串,需要用三 Mustache 标签:
<div>{{{ raw_html }}}</div>
内容以 HTML 字符串插入——数据绑定将被忽略。如果需要复用模板片断,应当使用 partials。
HTML 特性
Mustache 标签也可以用在 HTML 特性内
<div id = "item-{{ id }}"></div>
注意在 Vue.js 指令和特殊特性内不能用插值,不必担心,如果Mustache 标签用错了地方Vue.js 会给出警告。
绑定表达式
放在 Mustche
标签内的文本称为 绑定表达式 。在 Vue.js
中,一段绑定表达式由一个简单的 javascript
表达式和可选的一个或多个过滤器构成。
JavaScript 表达式
到目前为止,我们的模板只绑定到简单的属性键。实际上 vuejs 在数据绑定内支持全功能的 JavaScript 表达式:
{{ number + 1 }}
{{ ok? 'yes' : 'no' }}
{{ message.split('').reverse().join('') }}
过滤器
Vue.js 允许在表达式后添加可选的 过滤器
{{ message | capitalize }}
指令
指令 (Directives) 是特殊的带有前缀 v- 的特性。指令的值限定为绑定表达式,因此上面提到的 JavaScript 表达式及过滤器规则在这里也适用。指令的职责就是当其表达式的值改变时把某些特殊的行为应用到 DOM 上。
<p v-if="greeting">Hello!</p>
这里 v-if
指令将根据表达式 greeting
值的真假删除/插入 <p>
元素。
参数
有些指令可以在其名称后面带一个“参数”,中间放一个冒号隔开。例如:v-bind 指令用于响应地更新 HTML 特性:
<a v-bind:href="url"></a>
这里 href 是参数,它告诉 v-bind 指令将元素的 href 特性跟表达式 url 的值绑定。可能你已注意到可以用特性插值 href=”{{url}}” 获得同样的结果:这样没错,并且实际上在内部特性插值会转为 v-bind 绑定。
缩写
v- 前缀是一种标识模板中特定的 Vue 特性的视觉暗示。当你需要在一些现有的 HTML 代码中添加动态行为时,这些前缀可以起到很好的区分效果。但你在使用一些常用指令的时候,你会感觉一直这么写实在是啰嗦。而且在构建单页应用(SPA )时,Vue.js 会管理所有的模板,此时 v- 前缀也没那么重要了。因此Vue.js 为两个最常用的指令 v-bind 和 v-on 提供特别的缩写:
v-bind 缩写
<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
<!-- 完整语法 -->
<button v-bind:disabled="someDynamicCondition">Button</button>
<!-- 缩写 -->
<button :disabled="someDynamicCondition">Button</button>
v-on 缩写
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>
更多推荐
所有评论(0)