|                                                                                       |  | <template>	<!-- #ifdef APP-NVUE -->	<cell ref="u-index-item">		<!-- #endif -->		<view			class="u-index-item"			:id="`u-index-item-${id}`"			:class="[`u-index-item-${id}`]"		>			<slot />		</view>		<!-- #ifdef APP-NVUE -->	</cell>	<!-- #endif --></template>
<script>	import props from './props.js';	// #ifdef APP-NVUE
	// 由于weex为阿里的KPI业绩考核的产物,所以不支持百分比单位,这里需要通过dom查询组件的宽度
	const dom = uni.requireNativePlugin('dom')	// #endif
	/**	 * IndexItem 	 * @description 	 * @tutorial https://uviewui.com/components/indexList.html
	 * @property {String}	 * @event {Function}	 * @example	 */	export default {		name: 'u-index-item',		mixins: [uni.$u.mpMixin, uni.$u.mixin,props],		data() {			return {				// 本组件到滚动条顶部的距离
				top: 0,				height: 0,				id: ''			}		},		created() {			// 子组件u-index-anchor的实例
			this.anchor = {}		},		mounted() {			this.init()		},		methods: {			init() {				// 此处会活动父组件实例,并赋值给实例的parent属性
				this.getParentData('u-index-list')				if (!this.parent) {					return uni.$u.error('u-index-item必须要搭配u-index-list组件使用')				}				uni.$u.sleep().then(() =>{					this.getIndexItemRect().then(size => {						// 由于对象的引用特性,此处会同时生效到父组件的children数组的本实例的top属性中,供父组件判断读取
						this.top = Math.ceil(size.top)						this.height = Math.ceil(size.height)					})				})			},			getIndexItemRect() {				return new Promise(resolve => {					// #ifndef APP-NVUE
					this.$uGetRect('.u-index-item').then(size => {						resolve(size)					})					// #endif
					// #ifdef APP-NVUE
					const ref = this.$refs['u-index-item']					dom.getComponentRect(ref, res => {						resolve(res.size)					})					// #endif
				}) 			}		},	}</script>
<style lang="scss" scoped>	@import "../../libs/css/components.scss";	</style>
 |