小韦云博文

uniapp的easycom不起作用的填坑记录

小韦云科技-区块链+小程序+公众号+商城+分销+直播+企业官网+外贸电商-为您提供优质的开发服务-电话/微信联系:18123611282

最后要开发uniapp的低代码开发平台,发现以下问题:

默认情况下uniapp会通过easycom自动按需加载components目录的组件,不需要开发者自己再引用,注册等操作,很是方便。
假如components放置这三个组件

然后在需要的页面里直接这样使用是正常的

<bctos-button></bctos-button>
<bctos-input></bctos-input>
<bctos-view></bctos-view>

但是,如果我要这样使用(下面只是一个例子,不用抬杠为什么要这么用,因此我要实现组件可自动增加,组件的数量后期会一直增加的)

<view v-for="myComponent of ['bctos-button','bctos-input','bctos-view']" :key="myComponent">
<component :is="myComponent"></component>
</view>

就不正常了,直接报组件不存在:Unknown custom element

也就是说如果动态加载组件,easycom是无法知道的,因此也无法“按需”给自动加载组件进来。因此只能修改成下面的方式

<view v-for="myComponent of ['bctos-button','bctos-input','bctos-view']" :key="myComponent">
    <bctos-button v-if="myComponent=='bctos-button'"></bctos-button>
    <bctos-input v-else-if="myComponent=='bctos-input'"></bctos-input>
    <bctos-view v-else-if="myComponent=='bctos-view'"></bctos-view>
</view>

代码量增加不少,而且后续每增加一个组件,都需要在这循环里加上组件标签才行,好在问题是解决了。

不知道大家有没有更好的方法,望赐教。

本文由小韦云原创,转载请注明出处:https://www.bctos.cn/doc/12/1953,否则追究其法律责任

关键词:uniapp easycom

广告位招商