Vue——模板语法
(一)插值
1、文本:数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值。
2、原始HTML:双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html
指令;
- 不能使用
v-html
来复合局部模板,因为 Vue 不是基于字符串的模板引擎。 - 站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容使用插值。
3、Attribute:Mustache 语法不能作用在 HTML attribute 上,遇到这种情况应该使用 v-bind
指令。
4、JS表达式:对于所有的数据绑定,Vue.js 都提供了完全的 JavaScript 表达式支持,有个限制就是,每个绑定都只能包含单个表达式。
- 模板表达式都被放在沙盒中,只能访问全局变量的一个白名单,如
Math
和Date
。不应该在模板表达式中试图访问用户定义的全局变量。
(二)指令
指令 (Directives) 是带有 v-
前缀的特殊 attribute。指令 attribute 的值预期是单个 JavaScript 表达式 (v-for
是例外情况)。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。
1、参数:一些指令能够接收一个“参数”,在指令名称之后以冒号表示。
2、动态参数:从 2.6.0 开始,可以用方括号括起来的 JavaScript 表达式作为一个指令的参数。
-
对动态参数的值的约束:动态参数预期会求出一个字符串,异常情况下值为
null
。这个特殊的null
值可以被显性地用于移除绑定。任何其它非字符串类型的值都将会触发一个警告。 -
对动态参数表达式的约束:动态参数表达式有一些语法约束,因为某些字符,如空格和引号,放在 HTML attribute 名里是无效的;在 DOM 中使用模板时 (直接在一个 HTML 文件里撰写模板),还需要避免使用大写字符来命名键名,因为浏览器会把 attribute 名全部强制转为小写。
3、修饰符:修饰符 (modifier) 是以半角句号 .
指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。
(三)缩写
1、v-bind ——》:
2、v-on——》@