【问题标题】:Vue - adding prop as a Bem modifierVue - 添加道具作为 Bem 修饰符
【发布时间】:2018-10-19 05:44:57
【问题描述】:

我将一个“类型”道具传递给我的组件以用作 BEM 修饰符。

 <div class="badge badge--{{this.$props.type}}">

但是,当我尝试连接类时出现错误。我如何做到这一点?

【问题讨论】:

    标签: properties vuejs2 vue-component classname


    【解决方案1】:

    更简洁的方法是创建一个computed property

    computed: {
      badgeClasses() {
        return `badge badge--${this.type}`;  
      },
    },
    

    然后将它绑定到你的 HTML 中:

    <div :class="badgeClasses">
    

    但是你也可以像你尝试的那样只绑定属性,但是使用反引号而不是简单的引号:

    <div class="`badge badge--${type}`">
    

    【讨论】:

    • 谢谢,计算是默认选择,但我认为可能有一种直接连接的快速方法。另一种方式很丑陋,所以会被计算出来。
    • 另请注意,您的 HTML 中不需要 this.$props,因为数据、计算的属性和道具已经在当前上下文中。
    猜你喜欢
    • 2019-07-11
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 2017-10-04
    • 2015-11-10
    • 2021-09-15
    • 2017-11-28
    相关资源
    最近更新 更多