u-navbar组件在真机运行时undefined

项目场景:

uniapp H5项目


问题描述

组件部分在浏览器中运行无错,在真机运行时自定义状态栏整个显示undefined
在浏览器中

模拟器中

<view>	
		<u-navbar
		  back-text="orgName"
		  :back-icon-name="isShowOrgList ? 'arrow-up' : 'arrow-down'"
		  back-icon-color="#fff"
		  back-icon-size="30"
		  :back-text-style="{
			  color: '#fff',
			  fontWeight: '700',
			  fontSize: 32+'rpx'
		  }"
		  :custom-back="() => isShowOrgList = !isShowOrgList"
		  :background= "{ background: 'linear-gradient(180deg, #7DB2FD 0%, #4395FF 100%)' }"
		>
			<view slot="right" class="u-p-r-30 u-relative" @click="$to.navigateTo('/pages/index/tips/tips')">
				<image src="/static/xiaoxi.svg" style="width: 42rpx;" mode="widthFix"></image>
				<u-badge type="error" count="0" :offset="[-10, 10]" size="mini"></u-badge>
			</view>
		</u-navbar>
		<xInputSelect
		  class="org_select_wrap"
		  @setName="setName"
		  :isShowContent.sync="isShowOrgList"
		  :valueList="orgList"
		  :style="{width: 12 + 'em'}"
		></xInputSelect>


原因分析:

在浏览器预览时没有任何报错,并且翻出从前应用该组件的项目运行无任何问题,所以原因不在该组件上,结合在模拟器中运行时,报错TypeError: Invalid attempt to destructure non-iterable instance. 14:34:49.596 In order to be iterable, non-array objects must have a [Symbol.iterator]() method. at view.umd.min.js:1 14:34:49.618 cid unmatched at view.umd.min.js:1大概就是TypeError:对不可重写实例进行分解的尝试无效。应该是有什么属性未定义。


解决方案:

找遍页面没有未定义属性,只能逐段删除代码查看是哪里出了问题,最后锁定这里

<view class="content"> 	
			<view class="project-bg">
	
			<template>
				<!-- v-if="userInfoMessage.user" -->
				<view class="person-pro" v-if="userInfoMessage.user">
					<image class="user-pic" :src="userInfoMessage.user.nurse_head != null ? staticfileUrl + userInfoMessage.user.nurse_head : '/static/tabbar/head.png'" mode="scaleToFill"></image>
					

没错,就是那个v-if,害我找了好久,当时改代码加上接口一会断掉一会连接的,为了方便自己写了假数据,后来着急把v-if放错地方了,应该放在template中,但是正常来讲放在view里也不应该报错,具体原因还没找到,以后找到了再补充


版权声明:本文为qq_49490164原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。