Vue.js 模板语法
2023-09-14 09:14:12 时间
在上一章中我们使用了一种模板语法,在vue中又有哪些模板语法呢?
1、文本插值
文本:数据绑定最常见的形式就是使用 {{…}}(双大括号)的文本插值:
<div>
<p>{{ message }}</p>
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
message: '蒲公英云 Vue.js 教程'
}
}
}
</script>
2、v-html指令
<div>
<div v-html="userName"></div>
<div v-html="address"></div>
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
userName: '蒲公英云 Vue.js 教程',
address: 'www.dandelioncloud.cn'
}
}
}
</script>
3、v-bind 指令
<div>
<label for="r1">修改颜色</label><input type="checkbox" v-model="use" id="r1">
<br><br>
<div v-bind:class="{'class1': use}">
v-bind:class 指令
</div>
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
use: false
}
}
}
</script>
v-bind 缩写
<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
4、JavaScript 表达式
<div>
{{5+5}}<br>
{{ ok ? 'YES' : 'NO' }}<br>
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id">蒲公英云</div>
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
ok: true,
message: 'RUNOOB',
id : 1
}
}
}
</script>
5、v-if 指令
<div>
<p v-if="seen">现在你看到我了</p>
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
seen: true
}
}
}
</script>
6、v-on 指令
<a v-on:click="doSomething">
v-on 缩写
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>
修饰符
<form v-on:submit.prevent="onSubmit"></form>
7、 v-model 数据双向绑定
<div>
<p>{{ message }}</p>
<input v-model="message">
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
message: "Dandelioncloud"
}
}
}
</script>
8、字符串反转
<div>
<p>{{ message }}</p>
<button v-on:click="reverseMessage">反转字符串</button>
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
message: "Dandelioncloud"
}
},
methods: {
reverseMessage: function () {
this.message = this.message.split('').reverse().join('')
}
}
}
</script>
反转后的效果:
9、过滤器
Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。由”管道符”指示, 格式如下:
<!-- 在两个大括号中 -->
{{ message | capitalize }}
<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>
过滤器函数接受表达式的值作为第一个参数。
以下实例对输入的字符串第一个字母转为大写:
实例
<div>
{{ message | capitalize }}
</div>
<script>
export default {
name: 'MyTemplate',
data () {
return {
message: 'dandelioncloud'
}
},
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
}
</script>
相关文章
- Vue(3)webstorm代码格式规范设置与vue模板配置
- vue弹窗组件封装_vue弹出框组件
- vue.js 渲染函数_Vue.js的不可渲染且可扩展的RTF编辑器[通俗易懂]
- vue源码分析-挂载流程和模板编译
- vue源码分析-事件机制
- vue.js中实现阻止事件冒泡
- vue中keep-alive、activated的探讨和使用「建议收藏」
- windows10系统下vue开发环境搭建
- JS获取当前年份_js获取当前时间年月日
- Vue学习笔记之moment.js日期处理控件
- Vue.js 学习笔记 - 路由(Router)
- 在 Vue.js 中通过计算属性动态设置属性值
- vue.js客服系统实时聊天项目开发(四)引入iconfont图标代码
- 开心档之Vue.js 组件
- Angular与React、Vue.js的对比
- 用Vue从Redis中获取强有力的数据(vue用redis中数据)
- Oracle中使用JS变量管理数据(oracle使用js变量)