Vue js 切换每个元素的类

2023-12-21

虽然 Vuejs 中有很多切换类的例子,但我还没有找到一个可以切换类来缩小元素范围的例子。如果我像这样定义一个全局变量:

data: {
  toggle: false
}

当我有一个元素时,我会遇到问题,比如这个导航栏:

<ul class="menu">
  <li class="has-dropdown" v-bind:class="{ 'is-open': toggle }" @click="toggle = !toggle">
    Foo
    <ul class="dropdown">
      <li>Dropdown Item 1</li>
      <li>Dropdown Item 2</li>
    </ul>
  </li>
  <li class="has-dropdown" v-bind:class="{ 'is-open': toggle }" @click="toggle = !toggle">
    Bar
    <ul class="dropdown">
      <li>Dropdown Item 1</li>
      <li>Dropdown Item 2</li>
    </ul>
  </li>
</ul>

看看这里发生了什么?如果我单击这两个元素之一,两个元素都会同时切换该类,因为它正在更改全局变量。现在,我将如何切换类别only被点击的元素?


令我难以置信的是,如此简单的事情需要使用现代框架编写如此多的代码,这也是 JavaScript 开发变得如此复杂的原因。我求助于使用普通的 JavaScript 监听器来解决这个问题。

<li class="has-dropdown" @click="toggle">
    ...
</li>
...

methods: {
 toggle: function( event ) {
   event.target.classList.toggle('is-open')
 }
}

...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue js 切换每个元素的类 的相关文章

随机推荐

  • 为什么 Meteor 使用纤程而不是 Promise 或异步或其他东西?

    为什么 Meteor 使用纤程而不是 Promise 或 async 或者可能留下异步调用 纤维有什么好处 有人可以解释一下这个架构决定吗 直接从马嘴里说出来 http www quora com Node js Why is Meteor
  • 在从基类派生类的对象上调用时的“this”关键字类型

    如果我有这样的事情 class Base public void Write if this is Derived this Name calls Name Method of Base class i e prints Base Deri
  • 如何计算不接触 UIView 的随机 CGPoint

    这是一个示例视图 我想计算一个框架CGPoint我可以在哪里生成另一张卡 UIView 而不触及任何现有卡 当然 这是可选的 因为视图可能充满卡片 因此没有空闲位置 这就是我如何在屏幕上看到任何卡片以及我的功能现在的样子 func free
  • 在 Windows 上安装 pymssql 时遇到问题

    我在 Windows 上找不到对 pymssql 安装支持的强大支持 我正在尝试通过另一个员工的 python 包装器连接到企业数据库 这个包装器需要我安装 pymssql 这RTFM http pymssql org en v2 1 2
  • 在 Rails 4 中使用 Foundation 和 Turbolinks 时出现问题

    我有一个带有 2 个按钮的标题 登录和注册像这样 http postimg org image tfcwebeoz 当我点击其中一个时 会出现一个窗口 窗户打开 http postimg org image lv7gn2ks3 为此 我使用
  • 创建一个 HTMLCollection

    我正在尝试垫片Element prototype children http www w3 org TR domcore dom element children应该返回一个HTML集合 http www w3 org TR domcore
  • 在ExtJS中,当我显示网格时如何加载商店?

    在ExtJS中 当我显示网格时如何加载商店 我希望商店仅在显示网格时加载 用户单击按钮来显示网格 因此预先加载商店是浪费的 我尝试过afterrender侦听器 但它在错误的位置呈现负载掩码 并且afterlayout每次调整网格大小时 侦
  • SpringBoot @WebMvcTest 和 @MockBean 未按预期工作

    看起来 WebMvcTest and MockBean没有按预期工作 也许我错过了一些东西 我有一个带有一些我正在嘲笑的依赖项的控制器 MockBean 但是应用程序无法启动 因为它找不到另一个我认为在这种情况下不需要的 bean 控制器
  • 为什么 joint_tests 函数(emmeans 包)的结果没有显示模型的交互之一?

    我运行 GLMM adaptive 模型 我正在执行资源选择函数 并且使用 joint tests 函数 emmeans 包 来计算模型中项的联合测试 问题是其中一种相互作用没有出现在结果中 模型是 mod hinc lt mixed mo
  • 批量 - 根据最后 2 个字符复制文件夹

    我在网上搜索后找不到解决方案 或者无法使它们适应我的问题 我希望仅当任何子文件夹的最后两个字符为 14 时 才能批量从文件夹 TEMP 几千个子文件夹 复制子文件夹 for d f in temp 14 do md c somewhere
  • Js 音频音量滑块

    我对此很陌生 我有一个问题 如何放置音量滑块 谢谢你 我暂时找不到任何适合我的代码 希望您的帮助 HTML a class fa fa play JavaScript a
  • PyPlot 将替代 y 轴移动到背景

    在 pyplot 中 您可以使用以下命令更改不同图形的顺序zorder选项或通过更改顺序plot 命令 但是 当您通过添加替代轴时ax2 twinx 新轴将始终覆盖旧轴 如文档 http matplotlib org api pyplot
  • Jersey 2.0 中 GZIPContentEncodingFilter 的等价物是什么

    我正在将 Jerset 1 x 客户端项目迁移到 Jersey 2 0 我找到GZIPContentEncodingFilter不再存在 有类似的东西吗 我绊倒了GZIPEncoder但不知道如何插入 在 Jersey 1 17 中我使用
  • 保存和恢复 Keras BLSTM CTC 模型

    我一直在研究语音情感识别深度神经网络 我使用了具有 CTC 损失的 keras 双向 LSTM 我训练了模型并保存了它 model json model to json with open ctc model json w as json
  • 将此 SQL 查询转换为 Linq(不存在 + 子查询)

    我希望将这个 SQL 转换为 LINQ 它应该从输入中选择基于3列的表生产中不存在的行 如果两个表中的列包含NULL 则应将其视为具有相同的值 SELECT i FROM INPUT AS i WHERE NOT EXISTS SELECT
  • Sass 的语法突出显示在 Vim 中不起作用

    我刚刚下载了一个用于 Sass 语法高亮的 Vim 插件 说明说 安装详细信息将其放入语法中 目录并添加 sass 文件类型 啊 BufRead BufNewFile sass设置文件类型 sass 在你的 filetype vim 中 我
  • R 中固定效应的 F 检验(面板数据)

    我正在尝试对面板数据 OLS 回归 在 R 中 的固定效应 个体特定的虚拟变量 的联合显着性进行 F 检验 但是我还没有找到一种方法来实现大量固定效应 理想情况下 我会在plm包 但是我还没有找到任何专门进行此测试的内容 这是 Stata
  • startWith() 运算符是否将 Observable 转换为 ReplaySubject(1)?

    如果我希望订阅者最初至少获得X 我可以用吗开始于 X 对于现有的 Observable streamFromLibrary startWith X subscribe myHandler I want myHandler to not wa
  • C++11 move(x) 实际上意味着 static_cast(x)? [复制]

    这个问题在这里已经有答案了 刚读完 Stroustrup 的 C 编程语言 第 4 版 他在第 7 章中说道 move x means static cast
  • Vue js 切换每个元素的类

    虽然 Vuejs 中有很多切换类的例子 但我还没有找到一个可以切换类来缩小元素范围的例子 如果我像这样定义一个全局变量 data toggle false 当我有一个元素时 我会遇到问题 比如这个导航栏 ul class menu li c