一:插值
(1)文本
<span>Message: {{ msg }}</span>
可以使用v-once指令执行一次性的插值,当数据变化时,插值处内容不会更新,请留心,这样会影响到该节点上所有的数据绑定
<span v-once>This will never change: {{ msg }}</span>
(2)纯HTML
<div v-html="rawHtml"></div>
你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容插值。
(3)属性
{{}}---不能在html属性中使用,应使用v-bind(简写::XXX),
<div v-bind:id="dynamicId"></div>
这对布尔值的属性也有效 —— 如果条件被求值为 false 的话该属性会被移除:
<button v-bind:disabled="someDynamicCondition">Button</button>
二:指令:指令的职责就是当其表达式的值改变时相应地将某些行为应用到 DOM 上
(1)参数v-bind v-on
(2)修饰符:用于指出一个指令应该以特殊方式绑定
.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault():
三:过滤器:过滤器可以用在两个地方:mustache 插值和 v-bind 表达式
{{ message | capitalize}}
<div v-bind:id="rawId | formatId"></div>
*** Vue 2.x 中,过滤器只能在 mustache 绑定和 v-bind 表达式(从 2.1.0 开始支持)中使用,因为过滤器设计目的就是用于文本转换。为了在其他指令中实现更复杂的数据变换,你应该使用计算属性。
过滤器还可以串联
{{ message | filterA | filterB }}
过滤器是JavaScript函数,因此可以接受参数
{{ message | filterA('arg1',arg2)}}
new Vue({
// ...
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
})
四:缩写
v-bind:href="url" ---- :href="url"
v-on:click="clickSome" --- @click="clickSome"