Vue篇之v-show的使用以及demo展示

v-show:

根据表达式的真假,切换元素的显示和隐藏。

使用v-show  对其参数进行绑定后,定义内部逻辑根据需求进行 编写。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>切换显示</title>
    <script type="text/javascript" src="../js/vue.js"> </script>
    <title>use v-show</title>
</head>
<body>

    <div id="app">
<input type="button" value="切换显示" @click="changeIsShow">
        <img v-show="isShow" src="img/冰.jpg" alt=""/>
        
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/uve.js"></script>
    <script>
    var app = new Vue({
     el:"#app",
     data:{
         isShow:false
     },
     methods: {

        changeIsShow:function(){

            this.isShow = !this.isShow;
        }
     },

    })
     </script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Vue3和Element-UI的el-upload组件实现文件上传的示例代码: 1. 首先需要在Vue组件中引入el-upload组件和axios库: ```javascript <template> <el-upload class="upload-demo" action="/upload" :on-preview="handlePreview" :on-remove="handleRemove" :before-upload="beforeUpload" :on-success="handleSuccess" :on-error="handleError" :file-list="fileList" :auto-upload="false" :list-type="'picture-card'" :multiple="true" :limit="3" :on-exceed="handleExceed" :show-file-list="false"> <i class="el-icon-plus"></i> <div class="el-upload__text">将文件拖到此处,或点击上传</div> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> </el-upload> </template> <script> import { ElUpload } from 'element-plus'; import axios from 'axios'; export default { components: { ElUpload, }, data() { return { fileList: [], }; }, methods: { handlePreview(file) { console.log('预览文件', file); }, handleRemove(file) { console.log('删除文件', file); }, beforeUpload(file) { console.log('上传前处理', file); }, handleSuccess(response, file, fileList) { console.log('上传成功', response, file, fileList); }, handleError(error, file, fileList) { console.log('上传失败', error, file, fileList); }, handleExceed(files, fileList) { console.log('超出文件个数限制', files, fileList); }, }, }; </script> ``` 2. 在Vue组件中实现上传文件的逻辑: ```javascript beforeUpload(file) { const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'; const isLt2M = file.size / 1024 / 1024 < 2; if (!isJPG) { this.$message.error('上传头像图片只能是 JPG/PNG 格式!'); return false; } if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 2MB!'); return false; } const formData = new FormData(); formData.append('file', file); axios.post('/api/upload', formData).then((response) => { this.fileList.push({ name: file.name, url: response.data.url, }); }).catch((error) => { console.log(error); }); return false; }, ``` 3. 在后端服务器中实现文件上传的逻辑: ```javascript const express = require('express'); const multer = require('multer'); const path = require('path'); const app = express(); const storage = multer.diskStorage({ destination: (req, file, cb) => { cb(null, 'uploads/'); }, filename: (req, file, cb) => { const ext = path.extname(file.originalname); cb(null, `${Date.now()}${ext}`); }, }); const upload = multer({ storage }); app.post('/api/upload', upload.single('file'), (req, res) => { const file = req.file; const url = `http://localhost:3000/${file.path}`; res.json({ url }); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值