问题在于this指向
解决办法是使用变量保存$on,其次再为data中的值赋值

以下是具体代码

1、html代码:

			<view class="form_picker" @click="selePositionFun()">
				<view class="">
					<input placeholder="请选择职位类别" :disabled="true" v-if="positionOne == ''" /&gt;
					<view class="" v-else&gt;{{positionOne}}-{{positionTwo}}</view>
				</view>
			</view>

2、 js代码:

传递对象
A页面传递:(使用.$emitlet newarr = {
		one:this.leftList[this.tabindex].type,   //一级名称
		two:this.selectList[0]                   //二级名称
	}
	uni.$emit('positionOne',newarr)
	uni.navigateBack()

B页面接收:(使用.$ononShow() {
		//接收上个页面传递的职位类别
		const on = uni.$on('positionOne', function (data) {
		 console.log('打印data', Object.values(data))    // ["销售", "广告销售"]
			var list = Object.values(data)   //使用Object.values对象转换数组
			this.positionOne = list[0]
			this.positionTwo = list[1]
		})
		//再次赋值
		this.positionOne = on.positionOne
		this.positionTwo = on.positionTwo
			
		console.log('打印111', this.positionOne)   //销售 
		console.log('打印222', this.positionTwo)   //广告销售
	},
②传递数组
A页面传递:(使用.$emituni.$emit('selectList', this.selectList)   //传递选中数组
	uni.navigateBack()

B页面接收:(使用.$on)
	onShow() {
		//接收上个页面传递的职位类别
		const on = uni.$on('selectList', function(data) {
			// console.log('打印收到类型',typeof(data))  //object
			this.positionTwo = data.toString() //转为字符串使用
		})
		this.positionTwo = on.positionTwo
		console.log('打印positionTwo', this.positionTwo)   //销售, 广告销售
	},

在这里插入图片描述

完成~

原文地址:https://blog.csdn.net/weixin_48596030/article/details/134812806

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49160.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注