一、使用v-for显示基于食物数组的列表,并为每个项目添加一个单击事件,该事件将使用数组项目中的值来更改图像的源。
1.VUE基础框架
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
</body>
</html>
2.设置页面标题
<title>v-for循环中使用v-on</title>
3.将Vue应用程序挂载到具有id="app"的div元素上
<div id="app">
4.显示一个img元素,通过v-bind指令动态设置src属性,根据imgUrl的值来显示不同的图片
<img v-bind:src="imgUrl">
5.显示一个有序列表(ol),并使用v-for指令遍历manyFoods数组,对数组中的每个元素执行以下操作,最后显示食物的名字
<ol>
<li v-for="food in manyFoods" v-on:click="imgUrl=food.url">
{{food.name}}
</li>
</ol>
6.引入 Vue.js 的全局脚本
<script src="https://unpkg.com/dist/vue.global.js"></script>
7.创建 Vue 应用程序
const app=Vue.createApp({})
8.定义数据对象,包含imgUrl和manyFoods两个属性
data(){
return {
imgUrl:'img_salad.svg',
manyFoods:[
{name:'Burrito',url:'img_burrito.svg'},
{name:'Salad',url:'img_salad.svg'},
{name:'Cake',url:'img_cake.svg'},
{name:'Soup',url:'img_soup.svg'}
]
}
}
9.将 Vue 应用程序挂载到页面上的 #app 元素
app.mount('#app')
10.完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<title>v-for循环中使用v-on</title>
</head>
<body>
<div id="app">
<img v-bind:src="imgUrl">
<ol>
<li v-for="food in manyFoods" v-on:click="imgUrl=food.url">
{{food.name}}
</li>
</ol>
</div>
<script src="https://unpkg.com/dist/vue.global.js"></script>
<script>
const app=Vue.createApp({
data(){
return {
imgUrl:'img_salad.svg',
manyFoods:[
{name:'Burrito',url:'img_burrito.svg'},
{name:'Salad',url:'img_salad.svg'},
{name:'Cake',url:'img_cake.svg'},
{name:'Soup',url:'img_soup.svg'}
]
}
}
})
app.mount('#app')
</script>
</body>
</html>