v-for循环中使用v-on(VUE学习4)

2024-01-01 02:06:42

一、使用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>

文章来源:https://blog.csdn.net/b312738566/article/details/135263601
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。