【问题标题】:vuejs - rendering classvuejs - 渲染类
【发布时间】:2019-12-10 09:30:13
【问题描述】:

这是我的iview Message 函数,用于呈现弹出消息。

    this.$Message.info({
                render: h => {
                    return h('div', {class:"red"}, [
                        'This is created by ',
                        h('span', 'render'),
                        ' function'
                    ])
                }
            });

CSS

.red{
  color:red;
  background:blue;
}

但是,我需要为span 而不是整个div 呈现一个类。

有什么方法可以只渲染span?

【问题讨论】:

    标签: javascript vue.js iview


    【解决方案1】:

    将class 对象放在span 元素中,而不是div 元素中。

    this.$Message.info({
      render: h => {
        return h("div", 
        [
          "This is created by ", 
          h("span", {class : "red" }, "render function ")
        ])
      }
    });
    

    示例:

    Vue.config.devtools = false;
    Vue.config.productionTip = false;
    
    var app = new Vue({
      el: '#app',
      render: h => {
        return h("div", 
        [
          "This is created by ", 
          h("span", {class : "red" }, "render function ")
        ])
      }
    })
    .red {
      color:red;
      background:blue;
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
    
    <div id="app">
    </div>

    【讨论】:

    • 嗨,我只需要为span 中的单词应用css,而不是整个句子
    【解决方案2】:

    class 应该是一个数组,而不是一个字符串:

    h('div', {class: ['red']})
    

    Vue docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 2021-03-16
      • 2019-12-09
      相关资源
      最近更新 更多