【问题标题】:Class not dynamically changing with variable in vuejs类不随 vuejs 中的变量动态变化
【发布时间】:2018-11-10 20:20:18
【问题描述】:

我在一个 div 中有一个图标,它有两个使用 vue 绑定到它的类,最初一切正常,但点击类“链接”时,即使变量 h(我在 data 中定义)也不会打开或关闭) 从真变为假,反之亦然。怎么回事?

        <div v-for="(i, ind) in icons_row1" :key="ind" xs4 md2>
            <button @click="h = !h" :title="titles[ind]"><i :class="[{'linked' : h}, i]" class="ficon" ></i></button>
        </div>

【问题讨论】:

    标签: javascript html css vue.js


    【解决方案1】:

    如果你想要一个动态类,你可以试试这样:

      <div v-bind:class="[ somethingTrue ? 'styleA' : 'styleB' ]">Some text</div>
    

    这是一个小提琴:https://jsfiddle.net/ku9brr33/


    我进一步更新了小提琴: https://jsfiddle.net/ku9brr33/1/

    首先,您在按钮内使用标签,此 I 标签默认为“内联”,没有内容,这意味着您的 I 标签将显示为不可见...尝试在其中添加一些文本。

    <div id="app">
      <div>
         <button @click="somethingTrue = !somethingTrue" :title="btnTitle"> 
          click me  <i v-bind:class="[ somethingTrue ? 'styleA' : 'styleB' ]">Some text</i>
         </button>
      </div>
    </div>
    

    标题属性是当您将鼠标悬停在按钮上时显示的内容(参见我的示例),而不是显示给最终用户的文本。

    由于您从未在原始问题中提供任何 CSS,因此您还不清楚您在这里真正想要做什么。

    【讨论】:

    • 它不起作用,这就是我所拥有的 ,h 的值改变但类没有切换
    • @kumail 我已经为你做了更新和工作示例。
    猜你喜欢
    • 2021-02-17
    • 2016-08-20
    • 1970-01-01
    • 2021-12-29
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    相关资源
    最近更新 更多