VUE 模板语法

模板语法

  1. 插值: 文本,纯html,属性,js表达式
  2. 指令:参数,修饰符
  3. Filter: 过滤器, 过滤器函数
  4. 缩写 : v-bind, v-on

插值

文本:mustache 语法 => 纯文本

<span>Message: {{ msg }} </span>
<span v-once>This will never change: {{ msg }}</span>

HTML: v-html 指令 XSS 攻击

<div v-html="rawHtml"></div>

属性:v-bind 指令

<div v-bind:id="dynamicId"></div>
<button v-bind:disabled="someDynamicCondition">Button</button>

javascript表达式:

这些表达式会在所属 Vue 实例的数据作用域下作为 JavaScript 被解析

{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id"></div>

指令 Directives

v-xxx 属性

<p v-if="seen">Now you see me</p>

参数:使用半角冒号(:)指明 只1个参数

<a v-bind:href="url"></a>
<a v-on:click="doSomething">

修饰符 Modifiers 使用半角句号(.)指明

<form v-on:submit.prevent="onSubmit"></form>

Filter

格式化文本 (更复杂的数据变换,你应该使用计算属性)
用在 mustache表达式 或者 v-bind中,表达式后面
用 pipe | 分割

<!-- in mustaches -->
{{ message | capitalize }}
<!-- in v-bind -->
<div v-bind:id="rawId | formatId"></div>

过滤器函数
总接受表达式的值作为第一个参数
可以接受其他参数

filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}
{{ message | filterA('arg1', arg2) }}

缩写

v-bind

<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>

v-on

<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一. 模板语法 *** Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 ...
    竹溪穆褕阅读 1,729评论 0 0
  • Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 V...
    何wife阅读 2,833评论 0 0
  • 一、插值(数据绑定) ①绑定纯文本{{msg}} ②绑定纯html v-html ③绑定属性 v-bind ④绑...
    趁你还年轻233阅读 2,761评论 0 0
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,484评论 0 29
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,155评论 19 139

友情链接更多精彩内容