Mtlj1991
Mtlj1991

Reputation: 197

Adding data to href in VUE

Having a bit of an issue adding data to HREF in Vue. I currently have the following code to render the respective icons.

           <v-card-text>
            <v-btn
              v-for="icon in icons"
              :key="icon"
              class="mx-3 white--text"
              icon
            >
              <v-icon  size="24px">{{ icon.icon }}
              </v-icon>
                <a :href="`#${icon.link}`" ></a>
            </v-btn>
          </v-card-text>

And the data as follows:

     icons: [
      {icon:'fab fa-facebook', link:'https://www.facebook.com/user'},
      {icon:'fab fa-twitter', link:'https://twitter.com/user'},
      {icon:'fab fa-linkedin', link:'https://www.linkedin.com/in/user/'},
      {icon:'fab fa-instagram', link:'https://www.instagram.com/user/'},
    ],

The icons themselves are rendering properly, but I can't for the life of me get the links to work.

How would I link up the href to the icon using {{icon.link}}

Upvotes: 0

Views: 11361

Answers (3)

Andreas
Andreas

Reputation: 1099

You don't have any content inside of the <a>-tag. This should work:

<v-card-text>
  <v-btn
    v-for="icon in icons"
    :key="icon"
    class="mx-3 white--text"
    icon
  >
    <a :href="`#${icon.link}`">
      <v-icon size="24px">{{ icon.icon }}</v-icon>
    </a>
  </v-btn>
</v-card-text>

Upvotes: 2

Jns
Jns

Reputation: 3257

You could assign the href property directly to the vuetify button.

<v-btn
    v-for="icon in icons"
    :key="icon"
    class="mx-3 white--text"
    icon
    :href="icon.link"
    >
    <v-icon  size="24px">{{ icon.icon }}
    </v-icon>
</v-btn>

Vuetify Button Doc

Upvotes: 0

Hamilton Gabriel
Hamilton Gabriel

Reputation: 365

To bind the data you just have to do a v-bind in href, and correctly target the positioning you want inside the href, continue with the example that I will provide.

<div id="app">
<a :href="icons[1].link" >test</a>
</div>

new Vue({
el: '#app',
data: () => ({
icons: [
      {icon:'fab fa-facebook', link:'https://www.facebook.com/user'},
      {icon:'fab fa-twitter', link:'https://twitter.com/user'},
      {icon:'fab fa-linkedin', link:'https://www.linkedin.com/in/user/'},
      {icon:'fab fa-instagram', link:'https://www.instagram.com/user/'},
    ]
})
})

Example: https://jsfiddle.net/hamiltongabriel/ke8w9czy/16/

Upvotes: 4

Related Questions