6、v-for
基于源数据多次渲染元素或模板块。
图示:
代码:
<body>
<div id="app">
<p v-for="(score, index) in scores">
索引: {{index }} , 分数: {{score}}
</p>
<div v-for="(d, key) in dog">
{{key + ':' + d}}
</div>
</div>
<script src="js/vue.js"></script>
<script>
// 1. 创建Vue的实例
new Vue({
el: '#app',
data: {
scores: [100, 90, 70, 60, 5], // 数组
dog: {name: 'Python', age: 2, width: 1.44, weight: '100斤'}, // 对象
}
});
</script>
7、v-for小案例
图示:
代码:
<body>
<div id="app">
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</thead>
<tbody>
<tr v-for="(p, index) in persons">
<td>{{p.name}}</td>
<td>{{p.age}}</td>
<td>{{p.sex}}</td>
</tr>
</tbody>
</table>
</div>
<script src="js/vue.js"></script>
<script>
// 1. 创建Vue的实例
new Vue({
el: '#app',
data: {
persons: [
{name: '张三', age: 18, sex: '男'},
{name: '李四', age: 28, sex: '女'},
{name: '张三', age: 18, sex: '男'},
{name: '王五', age: 38, sex: '女'}
]
}
});
</script>
8、v-bind
v-bind 主要用于属性绑定
图示:
代码:
<body>
<div id="app">
<img v-bind:src="imgSrc" v-bind:alt="alt">
<img :src="imgSrc1" :alt="alt">
</div>
<script src="js/vue.js"></script>
<script>
// 1. 创建Vue的实例
new Vue({
el: '#app',
data: {
imgSrc: 'img/img_01.jpg',
imgSrc1: 'img/img_02.jpg',
alt: '风景'
}
});
</script>
9、v-on
绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。
图示:
代码:
<body>
<div id="app">
<p>{{msg}}</p>
<button v-on:click="msg = 'Java'">改变内容</button>
<button @click="msg = 'Vue'">改变内容</button>
<button @click="changeContent()">改变内容</button>
</div>
<script src="js/vue.js"></script>
<script>
// 1. 创建Vue的实例
new Vue({
el: '#app',
data: {
msg: 'Python'
},
methods: {
changeContent() {
this.msg = '编程';
}
}
});
</script>
10、v-model
预期:随表单控件类型不同而不同。
图示:
代码:
<body>
<div id="app">
<h1>{{msg}}</h1>
<input type="text" v-model="msg">
</div>
<script src="js/vue.js"></script>
<script>
// 1. 创建Vue的实例
new Vue({
el: '#app',
data: {
msg: 'hello'
}
});
</script>