You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue绑定data-bs-target属性时如何在变量值前添加#号

解决方案

直接在Vue的属性绑定表达式中做字符串拼接,给data-bs-target的取值拼接前缀#即可。注意aria-controls和折叠容器的id属性只需要绑定纯id值,不需要加#。

两种可用的拼接写法:

  • 模板字符串写法(推荐,可读性更好)::data-bs-target="#${card_id}"
  • 普通字符串拼接写法(兼容所有Vue版本)::data-bs-target="'#' + card_id"

修正后的完整代码如下:

<button 
  class="btn btn-primary" 
  type="button" 
  data-bs-toggle="collapse" 
  :data-bs-target="`#${card_id}`" 
  aria-expanded="false" 
  :aria-controls="card_id"
>
  Apply now!
</button>
<div class="collapse" :id="card_id">
  <div class="card card-body">
    <GuestForm></GuestForm>
  </div>
</div>

绑定后Bootstrap拿到的data-bs-target值就是标准的id选择器格式,只会匹配对应id的折叠容器。之前的写法是把纯id值传给了data-bs-target,Bootstrap无法将其识别为id选择器,匹配逻辑出错才会出现点击一个按钮触发所有卡片折叠的问题。


内容的提问来源于stack exchange,提问作者SlywolF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:39:15