uniapp开发踩坑记录

本文探讨了Vue中自定义组件class绑定的问题,通过computed属性优化样式处理,并解决了H5端与非H5端使用Vuex的兼容性问题。

数组绑定class的问题

版本:v1.5.4
自定义了一个icon的组件,部分代码如下

<template>
    <text :class="[name, icon]"
        :style="{'color': color, 'font-size': fontSize}">
    </text>
</template>

<script>
    export default {
        props: {
            name: {
                type: String,
                default: 'iconfont'
            },
            icon: {
                type: String
            },
            color: {
                type: String,
                default: '#666666'
            },
            size: {
                type: [Number, String],
                default: 30
            }
        },
        computed: {
            cls(){
                return `${this.name} ${this.icon}`
            },
            fontSize(){
                return this.size + 'upx'
            }
        }
    }
</script>

使用

<lb-icon icon="icon-message"></lb-icon>

H5端显示正常无异常,模拟器模拟显示class之间多了逗号,如图所示
tim 20190212163934

解决方法

利用computed进行class拼接

<text :class="cls"
    :style="{'color': color, 'font-size': fontSize}">
</text>
computed: {
    cls(){
        return `${this.name} ${this.icon}`
    }
}

Vuex mapGetters问题

版本:v1.5.4
正常使用mapGetters的时候,H5端无异常,非H5端会报错
_20190212181822

TypeError: Cannot read property 'getters' of undefined

解决方法

main.js中增加Vue.prototype.$store = store

转载于:https://www.cnblogs.com/liub37/p/10366614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值