简单例子
<div id="app">
{{ message }}
</div>
<script>
var app = new Vue({
el: '#app',
data: {
message: '测试vue!'
}
})
</script>
<div id="app">
<ul><li v-for="rs in todos"> {{rs.text}}</li></ul>
</div>
var app = new Vue({
el: '#app',
data: {
todos: [
{ text: '学习 JavaScript' },
{ text: '学习 Vue' },
{ text: '整个牛项目' }
]
}
})
模板语法
一次插值,后面不会改变 v-once
输出原始值 <span v-html:style="msg">你好</span>
输出属性 <span v-bind:style="msg">你好</span>
if语句 <span v-if="msg">true看见我</span>
<h1 v-if="msg=='ok'">是</h1>
<h1 v-else-if="msg=='ok1'">是1</h1>
<h1 v-else>否</h1>
管理重复数据 key="username-input"
监听事件 <a v-on:click="alert(1)">123</a>
v-bind缩写 :
v-on 缩写@
数组方式调用class <div v-bind:class="[activeClass, errorClass]"></div>
绑定内联样式 <div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
显示隐藏 <h1 v-show="msg=='ok'">是</h1> 不支持<template>和else,是display显示隐藏
列表渲染 <li v-for="item in items">
{{ item.message }}
</li>
带索引
<li v-for="(item, index) in items">
{{ parentMessage }} - {{ index }} - {{ item.message }}
</li>
对象也支持三个参数
<div v-for="(value, key, index) in object">
{{ index }}. {{ key }}: {{ value }}
</div>
唯一性
<div v-for="item in items" :key="item.id">
<!-- 内容 -->
</div>
方法
<button v-on:click="fn">创建</button>
var app = new Vue({
el: '#app',
data: {msg:'ok1'
} ,methods:{
'fn':function(event){
alert("q"+this.msg)
}
}
})
事件修饰符
<!-- 阻止单击事件继续传播 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="doThat">...</div>
<!-- 点击事件将只会触发一次 -->
<a v-on:click.once="doThis"></a>
<!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 -->
<!-- 而不会等待 `onScroll` 完成 -->
<!-- 这其中包含 `event.preventDefault()` 的情况 -->
<div v-on:scroll.passive="onScroll">...</div>
<!-- 只有在 `keyCode` 是 13 时调用 `vm.submit()` -->
<input v-on:keyup.13="submit">
.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right
表单
<input v-model="message" placeholder="edit me">
<input type="checkbox" id="checkbox" v-model="checked">
<!-- 在“change”时而非“input”时更新 -->
<input v-model.lazy="msg" >
<input v-model.number="age" type="number">
<input v-model.trim="msg">
版权属于:
小破孩
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
评论