学习官网: https://cn.vuejs.org/index.html
GitHub:https://github.com/vuejs/vue star:31.6k
v-if v-for v-model v-bind v-on
v-if 使用条件与循环来控制切换一个元素是否显示
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<p v-if="seen">true就是可以看见</p>
</div>
</body>
<script>
var app = new Vue({
el: '#app',
data: {
seen: true
}
})
</script>
</html>
seen的值为true的时候 显示页面的文字 seen的值为false的时候 隐藏页面的文字
v-for 指令 绑定数组的数据来渲染一个项目列表
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app-4">
<ol>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ol>
</div>
</body>
<script>
var app4 = new Vue({
el: '#app-4',
data: {
todos: [
{ text: '学习 JavaScript' },
{ text: '学习 Vue' },
{ text: '整个牛项目' }
]
}
})
</script>
</html>
v-model 指令,表单输入和应用状态之间的双向绑定。
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app-6">
<p>{{ message }}</p>
<input v-model="message">
</div>
</body>
<script>
var app6 = new Vue({
el: '#app-6',
data: {
message: 'Hello Vue!'
}
})
</script>
</html>
v-bind 主要用于属性绑定
v-bind 绑定属性
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app-2">
<span v-bind:title="message">
鼠标悬停几秒钟查看此处动态绑定的提示信息!
</span>
</div>
</body>
<script>
var app2 = new Vue({
el: '#app-2',
data: {
message: '页面加载于 ' new Date().toLocaleString()
}
})
</script>
</html>
v-bind
缩写
代码语言:javascript复制<!-- 完整语法 -->
<a v-bind:href="url">...</a>
<!-- 缩写 -->
<a :href="url">...</a>
<!-- 动态参数的缩写 (2.6.0 ) -->
<a :[key]="url"> ... </a>
v-on :用于绑定事件的
v-on 指令添加一个事件监听器 v-on:后面的值是一个方法,可以写成myclick(),没有参数可以写成myclick。
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<button v-on:click="myclick">click me</button>
</div>
</body>
<script>
var app2 = new Vue({
el: '#app',
data: {
},
methods:{
myclick:function(){
alert(1);
}
}
})
</script>
</html>
v-on
缩写
<!-- 完整语法 -->
<a v-on:click="doSomething">...</a>
<!-- 缩写 -->
<a @click="doSomething">...</a>
<!-- 动态参数的缩写 (2.6.0 ) -->
<a @[event]="doSomething"> ... </a>
v-on 绑定多个事件
v-on也可以绑定多个事件 多个事件可以单独多个v-on绑定
v-on也可以绑定多个事件 多个事件可以单独多个v-on绑定
代码语言:javascript复制<div class="app">
<button v-on:mouseenter='onenter' v-on:mouseleave='leave'>click me</button>
</div>
也可以使用一个v-on,里头用对象的形式书写,对象的键名就是事件名,对象的键值就是对应事件要执行的方法。多个事件之间通过,分开
代码语言:javascript复制<div class="app">
<button v-on="{mouseenter:onenter,mouseleave:leave}">click me</button>
</div>
当然也可以混合使用
代码语言:javascript复制<div class="app">
<button v-on="{mouseenter:onenter,mouseleave:leave}" v-on:click="myclick">click me</button>
</div>
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<button v-on:mouseenter='onenter' v-on:mouseleave='leave'>click me</button>
<button v-on="{mouseenter:onenter,mouseleave:leave}">click me</button>
<button v-on="{mouseenter:onenter,mouseleave:leave}" v-on:click="myclick">click me</button>
</div>
</body>
<script>
var app2 = new Vue({
el: '#app',
data: {
},
methods:{
myclick:function(){
alert("clicked");
},
onenter:function(){
alert("mouseented");
},
leave:function(){
alert("mouseleaved");
}
}
})
</script>
</html>