【问题标题】:Vuejs: how do you pass class(classes) to template?Vuejs:你如何将类(类)传递给模板?
【发布时间】:2020-07-12 11:11:29
【问题描述】:

在以下代码中将类传递给%item.class% 的正确语法是什么?像[item.class]{{ item.class }} 这样的任何语法都将其作为字符串传递而无需渲染。如何正确通过?

如何传递多个类并应用于嵌套在一个模板中的多个标签(a、span 等)?传递一个数组?如何迭代?

<component v-for="item in List" 
                :item="item"
                :class="item.class"
</component>


let component = Vue.component('component', {
       props: ['item'],
       template: `<li class=" %item.class% ">
                     <a class="fa %item.class% "></a>
                     <span class="fa %item.class%"></span>
                  </li>`
       }),
       data: function (){
        return {
            List: [
                {key:0, class:'someClass'},

            ]
        }
    },
 })

先谢谢了:)

【问题讨论】:

    标签: javascript css vue.js vuejs2 vue-component


    【解决方案1】:
    <li :class="item.class">
    <a class="fa" :class="item.class">
    

    【讨论】:

      【解决方案2】:

      解决方案:您可以将对象传递给v-bind:class :class 以动态切换类:

      <li :class="item.class">
                           <a class="fa" :class="item.class"></a>
                           <span class="fa" :class="item.class"></span>
                        </li>
      

      绑定 HTML 类

      • 对象语法:
      <div v-bind:class="{ active: isActive }"></div>
      
      data: {
        isActive: true
      }
      
      • 数组语法:
      <div v-bind:class="[activeClass, errorClass]"></div>
      
      data: {
        activeClass: 'active',
        errorClass: 'text-danger'
      }
      

      More Info Official documentation

      【讨论】:

        【解决方案3】:

        您可以将绑定类与无绑定类分开:

         template: `<li :class="item.class">
                             <a class="fa" :class="item.class"></a>
                             <span class="fa" :class="item.class"></span>
                          </li>`
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多