我记得IDE前几次版本更新后,APP平台支持动态插槽了,然后我封装了一个滑动导航的自定义组件,关键代码如下
<!-- 左侧纵向导航 -->
<scroll-view scroll-y scroll-with-animation
v-if="direction === 'vertical'" class="cm-scroll-nav-vertical" :class="[navClass]" :style="[vNavStyle, navStyle]">
<view class="cm-scroll-nav-vertical-item" v-for="(item, index) in navData"
:key="item.id" :id="'' + item.id"
:class="[ curId === item.id ? 'active' : '' ]"
@click="selectHandler(item, index)">
{{ item.text }}
</view>
</scroll-view>
<!-- 主体部分 -->
<scroll-view scroll-y scroll-with-animation
:scroll-into-view="curId"
class="cm-scroll-nav-main" :style="[mainStyle]">
<view class="cm-scroll-nav-main-item" :id="item.id" v-for="(item, index) in navData" :key="item.id">
<!-- #ifdef H5 || APP-PLUS -->
<slot :name="item.id"></slot>
<!-- #endif -->
<!-- #ifdef MP -->
<slot name="{{item.id}}"></slot>
<!-- #endif -->
</view>
<slot></slot>
</scroll-view>
然后调用
<template>
<view>
<cm-scroll-nav direction="vertical"
:bottom="bottom"
:nav-data="navData">
<template v-slot:a>
<h1>a</h1>
<view>aaaaaaaaaaaaaaaaaaaaaaa</view>
</template>
<template v-slot:b>
<h1>b</h1>
<view>bbbbbbbbbbbbbbbbbb</view>
</template>
</cm-scroll-nav>
<cm-loading @loading="init"></cm-loading>
</view>
</template>
在H5和小程序端都有效果,就是APP端依然无效,我的IDE版本已经是2.6.15了啊。
唯独APP端无效果
APP编译确实选了V3的
所以就感觉很奇怪,难道是APP端动态绑定slot名字有特殊的写法,我slot的写法有问题,还是说产品的问题呢?