模板语法(DOM与Vue数据绑定)

Vue.js使用了基于HTML的模板语法,允许开发者声明式的将DOM绑定至底层Vue实例的数据。

插值

  1. 文本:{{ }}
    数据绑定最常见的形式就是使用Mustache语法(双大括号)的文本插值,解释为普通文本
<span>Message:{{ msg }}</span>

Mustache标签将会被替代为msg属性的值,无论何时,绑定的数据对象msg属性发生了变化,插值处的内容都会更新(使用v-once指令,可以执行一次性的插值,当msg的内容发生改变时插值处的内容不会发生改变,如下:)。

//这个在msg的值发生变化时将不会改变
<span v-once>Message:{{ msg }}</span>
  1. 原始HTML:v-html
    双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出 HTML,需要使用v-html指令:
<div v-html="rawHtml"></div>

这个 div 的内容将会被替换成为属性值 rawHtml,直接作为 HTML——会忽略解析属性值中的数据绑定。

  1. 特性:v-bind
    Mustache 语法不能作用在HTML特性(即属性)上,应该使用v-bind指令:
<div v-bind:id="dynamicId"></div>
<a v-bind:href="url"></a>
![](imageSrc)

new Vue({
  el:'.box',
  data:{
    url:'http:...'
  }
})
  1. 使用javaScript表达式
    Vue.js不仅可以绑定简单的属性键值,而且对于所有的数据绑定,都提供了完全的javaScript表达式支持,如下:
{{ number+1 }}
{{ ok ? 'Yes' : 'No' }}
{{ message.split('')reverse().join('') }}
<div v-bind:id=" 'list-'+id "></div>

但每个绑定都只能包含单个表达式,下面的不会生效:

{{ var a=1 }}  //这是语句,不是表达式
//控制流也不会生效,可使用三元表达式
{{ if(ok) {return message }  }}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,488评论 0 29
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,725评论 0 6
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 13,809评论 4 129
  • 在上一篇文章<<Vue深入解析-Mustache>>中,我们解释了vue在插值和绑定表达式时使用的模板语言Must...
    li4065阅读 11,660评论 4 4
  • 有时候的我真的有些玻璃心,明明别人的话没有特别意思我可能会将其解读成他的优越感,他对我的轻视感等等。最后冷静下来,...
    goddessna阅读 4,003评论 0 0

友情链接更多精彩内容