Donny
Donny
  • 发布:2019-04-18 11:56
  • 更新:2019-04-23 10:51
  • 阅读:2695

新版小程序编译平台是否不支持Vue组件的extends及mixins?

分类:uni-app

问题描述

HBuilder X 1.9.2.20190417, 微信小程序开启usingComponents
定义Vue组件使用extends, mixins扩展而来的组件问题,子组件无法使用父组件的props
H5下正常, 微信小程序有问题, 代码片段如下:

/* parent.vue */  

<template>  
    <view :class="computedClass"><slot></slot></view>  
</template>  

export default {  
    name: 'parent',  
    props: {  
        // 扩展样式类  
        eClass: {  
            type: [String, Array]  
        },  
        // 尺寸样式类  
        size: {  
            type: String,  
            // default | mini  
            default: 'default'   
        }  
    },  
    computed: {  
        computedClass () {  
            return [  
                // 扩展样式  
                this.eClass,  
                // 尺寸样式类  
                'btn_size_' + this.size  
            ];  
        }  
    }  
}
/* children.vue */  

<template>  
    <view :class="computedClass"><slot></slot></view>  
</template>  

import Parent from 'xxx'  
export default {  
    name: 'children',  
    extends: Parent,  // 或 mixins: [Parent] 效果一样.  
    mounted () {  
        // index.vue中使用children组件,打印computendClass 控制台显示:  
        // ["", ""]  
        // index.vue声明children组件时传递的eClass和size的值没有传递进来.  
        console.log(this.computedClass);  
    }  
}
/* index.vue 使用children组件 */  
<template>  
    <!-- e-class和size样式类并不会生效 -->  
    <children e-class="my-btn" size="mini"></children>  
</template>  
.....
2019-04-18 11:56 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

HBuilderX 1.9.3 及 CLI 均已更新

Trust

Trust - 少说废话

目前不支持 props 的继承,请关注更新

  • Donny (作者)

    除此之外,也希望后续能支持动态组件

    2019-04-18 14:43

w***@126.com

w***@126.com

电话好多好多好多遍

要回复问题请先登录注册