Open nfssuzukaze opened 3 years ago
<span>{{message}}</span>
Vue
data
message
v-once
<span v-once>{{message}}</span>
<span v-text="message"></span> <span v-html="message"></span>
v-text
插值表达式
v-html
html
<div v-bind:id="dynamicId"></div> <button v-bind:disabled="isButtonDisabled"></button> <div v-bind:id="dynamicId + ''"></div>
dynamicId
isButtonDisabled
null
false
undefined
attribute
<div>{{message + 'hello world'}}</div> <div v-bind:id="'text-' + message"></div>
一些指令能够接收一个 "参数" , 在指令名称之后以冒号表示.
<a v-bind:href="url"></a>
在这里, href 是参数, url 是 JavaScript 表达式, 其值来自 Vue 实例中, 一旦该 url 发生了变化, 那么 href 属性的值也会相应地发生变化
href
url
JavaScript
<a v-bind:[attributeName]="url"></a> <div v-bind:[theEventName]="func"></div>
如果 Vue 实例有一个 data 属性为 attributeName , 其对应的值为 "href" , 那么这个绑定等价于 v-bind:href 如果 Vue 实例有一个 data 属性为 theEventName , 其对应的值为 "click" , 那么这个绑定等价与 v-on:click
attributeName
"href"
v-bind:href
theEventName
"click"
v-on:click
Vue 的模板语法
插值
1. 插值到元素中
Vue
实例上data
的message
的值(一般情况下), 而且一旦 实例 中的message
发生了变化, 插值处的内容都会更新v-once
指令. 经过一次插值后, 改变实例中的message
不会导致插值出的内容更新v-text
指令的效果与使用插值表达式
的效果是等价的, 会将message
的数据当作普通的数据渲染到页面v-html
指令, 则会将message
的数据当作html
类型的数据进行渲染2. 插值到 HTML attribute 上
dynamicId
或isButtonDisabled
的值为null
,false
,undefined
三者之一时,Vue
并不会进行插值attribute
处会变成字符串形式, 所以可以进行插值3. 插值处都可使用 JavaScript 表达式
指令
参数
一些指令能够接收一个 "参数" , 在指令名称之后以冒号表示.
在这里,
href
是参数,url
是JavaScript
表达式, 其值来自Vue
实例中, 一旦该url
发生了变化, 那么href
属性的值也会相应地发生变化动态参数
如果 Vue 实例有一个
data
属性为attributeName
, 其对应的值为"href"
, 那么这个绑定等价于v-bind:href
如果 Vue 实例有一个data
属性为theEventName
, 其对应的值为"click"
, 那么这个绑定等价与v-on:click