Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
297 views
in Technique[技术] by (71.8m points)

javascript - Vue - Bind data to bootstrap-vue card attributes

Backend developer new to frontend. I'm trying to work with Vue and Bootstrap Vue.

I have bootstrap card attributes (i.e title) I am currently trying to dynamically populate the values for. I have the data ready available on the JS side. I have tried moustache syntax which does not work, as well as different attempts at v-binding. Any pointers are appreciated

        <b-card
              title="{{testTitle}}"
              img-src="https://picsum.photos/600/300/?image=25"
              img-alt="Image"
              img-top
              tag="article"
              style="max-width: 20rem;"
              class="mb-2">
        <b-card-text>
          Blah blah
        </b-card-text>
        <b-button href="#" variant="primary">Go somewhere</b-button>
      </b-card>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The mustache syntax can't be used for HTML attributes, which is detailed here. What you're looking for is v-bind, which allows you to make attributes reactive.

So to bind title to the value of testTitle you'd do something like this:

<b-card
    v-bind:title="testTitle"
    img-src="https://picsum.photos/600/300/?image=25"
    img-alt="Image"
    img-top
    tag="article"
    style="max-width: 20rem;"
    class="mb-2"
>

Or you could use the shorthand and omit the v-bind like so:

<b-card
    :title="testTitle"
    img-src="https://picsum.photos/600/300/?image=25"
    img-alt="Image"
    img-top
    tag="article"
    style="max-width: 20rem;"
    class="mb-2"
>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...