首页 > 其他分享 >vue实现图片隐藏

vue实现图片隐藏

时间:2023-03-19 22:34:56浏览次数:49  
标签:vue img show 组件 隐藏 png 图片

页面效果:单击图片时图片隐藏显示背景,再次点击重新显示图片。

 

实现流程:

第一步:创建web项目,导入vue.js

 

第二步:实例化vue对象,在页面中引入<script>标签,并在<script>标签中实例化vue对象。通过el将对象需要挂载的值进行绑定。

 

第三步:创建组件,给图片添加v-show的值,控制图片是否显示,利用css样式设置图片背景,点击图片时,隐藏img显示盒子背景图。通过@click控制show和v-show属性,将@click给盛放的盒子,用盒子进行占位来实现再次点击图片重新显示效果。

Css部分的样式:

 

优化代码:创建一个·数组,添加v-for属性,用for循环遍历数组中的元素,通过v-bind变量im动态绑定img,接收遍历v-for循环遍历数组中的每一个元素,通过props声明使用父组件的数据。

 

完整代码展示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="js/vue.js"></script> 
        <style>
            #app{
                width: 1300px;
                height: 1300px;
                justify-content: space-around;
                display: flex;
                flex-wrap: wrap;
            }
            .item{
                width: 128px;
                height: 128px;
                background-color: pink;
            }
        </style>
        <noscript></noscript>
    </head>
    <body>
        <div id="app">
            <!-- 动态绑定im=img -->
            <long v-for = "img in arrayimg" v-bind:im="img"></long>
        </div>
    </body>
    <template id="around">
        <div class="item" @click="change">
            <img :src="im" v-show="show" />
            <!-- 解析字符串 -->
        </div>
    </template>

    <script type="text/javascript">
        Vue.component("long",{
            template:"#around",
            // 连接组件
            props:["im"],
            // 声明要使用父组件的数据
            data:function(){
                return{
                    // 让每个组件的内容互不影响
                    show:true,
                }
            },
            methods:{
                change:function(){
                    this.show = !this.show
                    // 取反
                }
            }
        });
        var vm = new Vue({
            el:"#app",
            // /作用范围
            data:{
                arrayimg:["img/a (1).png","img/a (2).png",    "img/a (3).png",    "img/a (4).png",    "img/a (5).png",    "img/a (6).png",    "img/a (7).png",    "img/a (8).png",    "img/a (9).png",    "img/a (10).png",    "img/a (11).png",    "img/a (12).png",    "img/a (13).png",    "img/a (14).png",    "img/a (15).png",    "img/a (16).png",    "img/a (17).png",    "img/a (18).png",    "img/a (19).png",    "img/a (20).png",    "img/a (21).png",    "img/a (22).png",    "img/a (23).png",    "img/a (24).png",    "img/a (25).png",    "img/a (26).png",    "img/a (27).png",    "img/a (28).png",    "img/a (29).png",    "img/a (30).png",    "img/a (31).png",    "img/a (32).png",    "img/a (33).png",    "img/a (34).png",    "img/a (35).png",    "img/a (36).png",    "img/a (37).png",    "img/a (38).png",    "img/a (39).png",    "img/a (40).png",    "img/a (41).png",    "img/a (42).png",    "img/a (43).png",    "img/a (44).png",    "img/a (45).png",    "img/a (46).png",    "img/a (47).png",    "img/a (48).png",    "img/a (49).png",    "img/a (50).png",    "img/a (51).png",    "img/a (52).png",    "img/a (53).png",    "img/a (54).png",    "img/a (55).png",    "img/a (56).png",    "img/a (57).png",    "img/a (58).png",    "img/a (59).png",    "img/a (60).png",    "img/a (61).png",    "img/a (62).png",    "img/a (63).png",    "img/a (64).png",    "img/a (65).png",    "img/a (66).png",    "img/a (67).png",    "img/a (68).png",    "img/a (69).png",    "img/a (70).png",    "img/a (71).png",    "img/a (72).png",    "img/a (73).png",    "img/a (74).png",    "img/a (75).png",    "img/a (76).png",    "img/a (77).png",    "img/a (78).png",    "img/a (79).png",    "img/a (80).png",    "img/a (81).png",    "img/a (82).png",    "img/a (83).png",    "img/a (84).png",    "img/a (85).png",    "img/a (86).png",    "img/a (87).png",    "img/a (88).png",    "img/a (89).png",    "img/a (90).png",    "img/a (91).png",    "img/a (92).png",    "img/a (93).png",    "img/a (94).png",    "img/a (95).png",    "img/a (96).png",    "img/a (97).png",    "img/a (98).png",    "img/a (99).png",    "img/a (100).png"
                ]
            }
        });
    </script>
</html>

 

 

附件链接:https://pan.baidu.com/s/1FkIyFAHD2QnVqd85Y5atGg?pwd=zyh3

提取码:zyh3

--来自百度网盘超级会员V2的分享

标签:vue,img,show,组件,隐藏,png,图片
From: https://www.cnblogs.com/zqh332/p/17234606.html

相关文章

  • Vue2入门之超详细教程四-数据绑定
    1、简介数据绑定分为单向数据绑定和双向数据绑定,上一章节中出现的v-bind就属于单向数据绑定。单向绑定(v-bind):数据只能从data流向页面双向绑定(v-model):数据不仅......
  • 下载图片的油猴脚本
    控制台调用函数的形式触发window.dimg('壁纸')效果其中文件名主体是url图片名js代码获取所有的img标签特定图片url有统一url借此筛选点击查看代码//下载......
  • Vue axios简易封装
    1.安装axiosnpminstallaxios-g 2.创建utils文件夹,新建文件request.js对axios进行封装3.设置请求超时通过axios.defaults.timeout设置默认的请求超时时间。例......
  • SpringBoot+Vue+EasyExcel实现excel简单导入导出
    1.先导入EasyExcel依赖<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.......
  • 谈谈 Vue shallowRef 和 shallowReactive
    深层次响应式reactive和ref创建的对象都是深层次的,对象的根属性和嵌套属性都是响应式的。深层次转换是递归地转为响应式,对象里的每个属性访问都将触发代理的依赖追踪,......
  • Vuex模块式开发
    背景:2个组件:home和search,将store仓库拆分成2个小仓库,home和search两个小仓库用于管理自己模块的数据store文件夹下新建2个文件夹:home和searchhome下index.js//home模块......
  • 04:SwiftUI-网络图片
      正文 importSwiftUIstructWebImagePage:View{@StateprivatevarbaseImage:UIImage?=nilletplaceHolderImage=UIImage(named:"ico......
  • Vue和React项目中生成唯一ID
    Vue中唯一ID生成方式React中唯一ID生成方式......
  • vue中全局过滤器
    //全局的过滤器,进行时间的格式化Vue.filter('dateFormat',function(dateStr){//根据给定的实际那字符串,得到绑定的时间vardt=newDate(dateStr)//yyy--mm--ddvar......
  • vue+element-ui刷新路由的时候保持在当前页面小技巧
    前言:很多小伙伴在练习vue项目的时候会遇到这样一个问题,就是刷新页面的时候,路由没有显示到当前页面,而是重定向回首页了,那么该怎么解决呢,就请各位小伙伴看下面的内容介绍吧......