简体   繁体   中英

A way to insert a # in front of a variable of the html attribute value data-bs-target

So basically, I have a vue web app and created a container with multiple bootstrap cards. The cards have a button, which collapses a form I've made for guests to apply. However, when I press the button of a card, it collapses the apply form of all cards at once. To fix that, I have to give each individual card a specific id which matches the data-bs-target and aria-controls of the button. So far, so good.

I've made a variable card_id and inserted it into the attribute values with v-bind , but it's not working. The reason is, that the attribute data-bs-target needs a hashtag before the actual variable name, but I can't figure out a way to do that.

Code sample:

    <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>

I obviously can't just put a hashtag in front of the variable, so what is my next best solution for this? Thank you in advance.

您可以将字符串模板与反引号 `` 一起使用,例如:

  <button :data-bs-target="`#${card_id}`" 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM