IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 父组件点击控制子组件组件显隐 -> 正文阅读

[JavaScript知识库]父组件点击控制子组件组件显隐

//父组件
<logo :isShow="isShow" @handleOk="handleOk"></logo>
import logo from '../../components/logo.vue'
components: {
			logo
		},
data() {
			return {
				isShow: false,
}
},
//判断用户是否登录
onShow() {
			console.log(112)
			var userInfo = uni.getStorageSync("userInfo")
			if (userInfo !== 'undefined' && userInfo !== '') {
				return userInfo;
			} else {
				uni.showToast({
					title: "请先登录",
					icon: 'none'
				})
				this.isShow = true
			}
		},

methods: {
			
			handleOk: function(e) {
				// handleOk就是子组件传过来的值
				console.log(e)
				this.isShow = e;
			},
}

//子组件
<template>
	<view class="container" v-show="isShow">
		<view class="info-box">
			<view style="display: flex;align-items: center;justify-content: center;">
				<image class="avatar-img" :src="avatarUrl" />
			</view>
			<view style="width:200rpx; margin: 20rpx auto 0; display: flex;align-items: flex-start;justify-content: center;flex-direction: column;">
				<text>昵称: {{nickName}}</text>
				<text>性别: {{gender}}</text>
				<text>国家: {{country}}</text>
				<text>省份: {{province}}</text>
			</view>
		</view>
		<view style="margin-top:20%">
			<button open-type="getUserInfo" @click="showUserInfoTap">登录</button>
		</view>
	</view>
</template>

<script>
	export default {
		props: {
			isShow: {
				type: Boolean,
				default: true
			}
		},
		name: 'logo',
		data() {
			return {
				nickName: "",
				avatarUrl: "",
				gender: "",
				province: "",
				city: "",
				country: "",
			}
		},
		computed: {},
		methods: {
			showUserInfoTap: function() {
				var that = this;
				// 微信用户登录获取用户信息
				uni.getUserProfile({
					desc: '登录',
					success: (res) => {
						console.log(res)
						var userInfo = res.userInfo
						uni.setStorageSync('userInfo', userInfo);
						var nickName = userInfo.nickName
						var avatarUrl = userInfo.avatarUrl
						var gender = userInfo.gender //性别 0:未知、1:男、2:女
						var province = userInfo.province
						var city = userInfo.city
						var country = userInfo.country
						if (gender == 1) {
							gender = '男'
						} else if (gender == 2) {
							gender = '女'
						} else {
							gender = '未知'
						}
						uni.setStorageSync('userInfo', userInfo);
						that.nickName = nickName,
							that.avatarUrl = avatarUrl,
							that.gender = gender,
							that.country = country,
							that.province = province
						//获取用户code 将code传给后端
						uni.login({
							success: (res) => {
								console.log(res)
								this.$emit('handleOk', false)
							}
						})
					}
				})
			},
		}
	}
</script>

<style>
	.container {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		height: 100vh;
		background-color: #FFF;
	}

	.info-box {
		padding: 32rpx;
	}

	.avatar-img {
		width: 100px;
		height: 100px;
		border: 1px solid gray;
	}

	.info-box>text {
		display: block;
		margin-left: 20%;
		margin-top: 4%;
	}
</style>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 07:54:08  更:2021-09-19 07:55:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:37:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码