首页 > 其他分享 >Vue2教程003:Vue指令之v-bind和v-for

Vue2教程003:Vue指令之v-bind和v-for

时间:2024-11-26 23:33:43浏览次数:7  
标签:index Vue bind app 003 item 数组 id

文章目录

2.6 v-bind

  1. 作用:动态设置html的标签属性->srcurltitle
  2. 语法:v-bind:属性名="表达式"

动态设置img标签的src属性:

<body>
<div id="app">
    <img class="image" v-bind:src="imgUrl" alt="图片" />
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script>
<script>
    const app = new Vue({
        el: '#app',
        data: {
            imgUrl: './images/02.jpg'
        },
        methods:{

        }
    })
</script>
</body>

注意:v-bind:src可以简写为:src,即v-bind可以省略。

2.7 图片轮播案例

核心思路分析:

  • 数组存储图片路径->[图片1, 图片2, 图片3, ...]
  • 准备下标index,数组[下标] -> v-bind设置src展示图片 -> 修改下标切换图片

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <button v-show="index>0" @click="index--">上一页</button>
    <div class="box">
        <img class="image" :src="list[index]" alt=""/>
    </div>
    <button v-show="index<list.length-1" @click="index++">下一页</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script>
<script>
    const app = new Vue({
        el: '#app',
        data: {
            index: 0,
            list: [
                './images/01.jpg',
                './images/02.jpg',
                './images/03.jpg',
                './images/04.jpg',
            ]
        },
        methods: {}
    })
</script>

</body>
<style>
    .box {
        border: 1px solid gray;
        width: 320px;
    }

    .image {
        width: 300px;
        margin: 10px;
    }
</style>
</html>

运行效果:

在这里插入图片描述

涉及的知识点:

  • v-show
  • 点击事件
  • 数组

2.8 v-for

作用:基于数据循环,多次渲染整个元素。

适用类型:数组、对象、数字。

遍历数组语法:v-for="(item, index) in 数组",item每一项,index下标

代码示例:

<body>
<div id="app">
    <h3>NBA-太阳队</h3>
    <ul>
        <li v-for="(item, index) in list">
            {{ item }} -- {{ index }}
        </li>
    </ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script>
<script>
    const app = new Vue({
        el: '#app',
        data: {
            list: ['Durant', 'Book', 'Beal']
        },
        methods: {}
    })
</script>
</body>

运行效果:

在这里插入图片描述

2.9 图书管理案例

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <h3>我的书籍</h3>
    <el-table
            :data="bookList"
            stripe
            border
            style="width: 50%">
        <el-table-column
                prop="id"
                label="书架号"
                width="180">
        </el-table-column>
        <el-table-column
                prop="name"
                label="书籍名称"
                width="180">
        </el-table-column>
        <el-table-column
                prop="author"
                label="作者">
        </el-table-column>
        <el-table-column
                width="100"
                label="操作">
            <template slot-scope="scope">
                <el-button size="mini" type="danger" @click="del(scope.row.id)">删除</el-button>
            </template>
        </el-table-column>
    </el-table>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
    const app = new Vue({
        el: '#app',
        data: {
            bookList: [
                {
                    id: 1,
                    name: '《长安的荔枝》',
                    author: '马伯庸'
                },
                {
                    id: 2,
                    name: '《明朝那些事儿》',
                    author: '当年明月'
                },
                {
                    id: 3,
                    name: '《平凡的世界》',
                    author: '路遥'
                }
            ]
        },
        methods: {
            del(id) {
                // filter:根据条件,保留满足条件的对应项
                // filter:不会改变原来的数组,而是得到一个新的数组
                this.bookList = this.bookList.filter(item => item.id !== id);
            }
        }
    })
</script>
</body>
</html>

运行效果:

在这里插入图片描述

注意:

  • filter的使用。
    • 根据条件,保留满足条件的对应项。
    • 不会改变原来的数组,而是得到一个新的数组
  • html网页中element-ui前端组件的使用。
    • 引入样式
      • <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    • 引入组件库
      • `<script src="https://unpkg.co

标签:index,Vue,bind,app,003,item,数组,id
From: https://blog.csdn.net/WwLK123/article/details/144042689

相关文章

  • 基于SpringBoot+Vue的高校迎新管理系统
    感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人2025最新毕业设计项目推荐-SSM篇2025最新毕业设计项目推荐-SpringBoot篇2025最新毕业设计项目推荐-小程序、uniapp篇-CSDN博客Java精品毕设实战案例推荐​高......
  • SpringBoot+Vue的高校运动会管理系统
    感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人2025最新毕业设计项目推荐-SSM篇2025最新毕业设计项目推荐-SpringBoot篇2025最新毕业设计项目推荐-小程序、uniapp篇-CSDN博客Java精品毕设实战案例推荐​高......
  • SpringBoot+Vue的宠物领养系统
    感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人2025最新毕业设计项目推荐-SSM篇2025最新毕业设计项目推荐-SpringBoot篇2025最新毕业设计项目推荐-小程序、uniapp篇-CSDN博客Java精品毕设实战案例推荐​宠......
  • 基于SpringBoot+Vue的体育赛事资讯平台
    感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人2025最新毕业设计项目推荐-SSM篇2025最新毕业设计项目推荐-SpringBoot篇2025最新毕业设计项目推荐-小程序、uniapp篇-CSDN博客Java精品毕设实战案例推荐​体......
  • vue3+vite打包配置,并部署nginx,解决部署之后axios请求跨域
    配置base配置base避免打包部署到服务器上后可能会报404,无法正确的获取的资源。//vite.config.tsexportdefaultdefineConfig({ base:"./"})配置路径别名//vite.config.tsimport{defineConfig}from"vite";importvuefrom"@vitejs/plugin-vue";//配置组件路......
  • [Whole Web] Vue design and React design
    VirtualDOMAdvantage:OneoftheadvantagesofthevirtualDOMiscross-platformrenderingabstraction.ThevirtualDOMcanconnecttodifferenthostenvironments,enablingoneframeworktorenderacrossmultipleplatforms.1.WhydidReactswitchfromt......
  • 最佳实践:如何在 Vue.js 项目中使用 Jest 进行单元测试
    前言随着应用程序规模和复杂性的增加,保证代码质量和稳定性变得愈发重要。单元测试作为软件测试的一部分,能够有效地捕捉代码中的错误,防止在开发过程中引入新的Bug。在众多测试框架中,Jest因其易用性、强大功能以及与Vue.js的良好兼容性,成为了许多开发者的首选。本文将详......
  • 基于springboot+vue的Java的学生课外时间管理系统(源码+文档+部署讲解等)
    课题简介基于SpringBoot+Vue的学生课外时间管理系统旨在帮助学生合理规划与高效利用课外时光。此系统具备活动发布模块,学校或社团可发布各类课外活动信息,涵盖学术讲座、文体赛事、兴趣小组等内容,并设定活动时间、地点与报名要求;学生报名模块,学生能够依据自身兴趣与时......
  • 基于springboot+vue的Java的学生档案管理系统的设计与实现(源码+文档+部署讲解等)
    课题简介基于SpringBoot+Vue的学生档案管理系统能有效整合与管理学生各类档案信息。系统包含学生基本信息管理模块,可录入并更新姓名、年龄、联系方式等;学业成绩管理模块,记录各科目成绩、考试时间及绩点计算;奖惩记录模块,存储学生获得的荣誉与违规情况;档案查询模块,方便......
  • 基于springboot+vue的Java的新生入学报到系统的设计与实现(源码+文档+部署讲解等)
    课题简介基于SpringBoot+Vue的新生入学报到系统,整合多种功能以提升报到流程的效率与便捷性。该系统涵盖学生信息录入模块,用于预先采集新生基本资料、录取专业等信息;缴费管理模块,支持多种线上缴费方式并记录缴费状态;宿舍分配模块,依据专业、性别等因素自动分配宿舍;报到......