Vue.js 容许开发者声明式地将DOM绑定至底层Vue实例的数据
在底层的实现上,Vue将模板编译成虚拟DOM渲染函数。结合响应系统,Vue可以只能地计算出最少须要从新玄滩多少组件,并把DOM操做次数减到最少html
v-once
指令,执行一次性的插值,当数据发生改变时,插值处的内筒不会更新。 原始HTML
vue
v-html
指令,输出真正的HTML 例子:<p>Using mustaches: {{ rawHtml }}</p>
<p>Using v-html directive: <span v-html="rawHtml"></span></p>
复制代码
输出显示: bash
注意,不能使用v-html
来符合局部模板,由于Vue不是基于字符串的模板引擎。
反之,对于用户界面(UI),组件更实用做为可重用和可组合的基本单位app
你的站点上动态渲染的任意HTML可能会很是危险,由于它很容易致使
XXS攻击
。只对可信内容使用HTML插值,绝对不要对用户提供的内容使用插值函数
特性url
模板表达式都被凡在沙盒中,只能访问全局变量的一个白名单,如
Math
和Date
. 不该该在模板表达式中试图访问用户定义的全局变量spa
参数code
一些指令可以接收一个“参数",在指令名称以后以冒号表示。orm
<a v-bind:href="url"> ...</a>
在这里href
是参数,告知v-bind
指令将该元素的href
特性与表达式url
的值绑定。另外一个例子是v-on
指令,它用于监听DOM事件:<a v-on:click="doFunction">...</a>
cdn
修饰符
修饰符(modifiers)是以半角句号.
指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。 例如,.prevent
修饰符告诉v-on
指令对于触发的事件调用event.preventDefault()
:
<form v-on:submit.prevent="onSubmit">..</form>
v-
前缀做为一种视觉提醒,用来识别模板中vue特性。当你在使用Vue.js为现有标签添加动态行为(dynamic behavior)时,v-
前缀颇有帮助。
同时,在构建由 Vue.js 管理全部模板的单页面应用程序 (SPA - single page application) 时,v- 前缀也变得没那么重要了。所以,Vue.js 为 v-bind 和 v-on 这两个最经常使用的指令,提供了特定简写:
#v-bind
缩写
<!-- 完整语法 -->
<a v-bind:href="url">...</a>
<!-- 缩写语法 -->
<a :href="url">...</a>
复制代码
#v-on
缩写
<!-- 完整语法 -->
<a v-on:click="onClick">...</a>
<!-- 缩写语法 -->
<a @click="onClick">...</a>
复制代码