How can I add dynamically an attribute with VueJS?

César Alberca

I know I can set a value to an attribute dynamically with v-bind, however I would like add dynamically the attribute, not the value. Something like this (although this is not valid):

    <a
      :href="url"
      {{ downloadable ? 'download' : null }}
      class="link"
      @click="onClick">
      {{ text }}
    </a>

Note: I'm not using JSX

I was thinking about using $attrs (https://vuejs.org/v2/api/#vm-attrs) but it's read only.

Is there a way to do this on Vue?

Solution:

JavaScript:

new Vue({
  el: '#app',
  data() {
    return {
       msg: 'Inspect element to test',
       downloadable: true
    }
  },
  computed: {
    dynamicAttribute() {
      if(!this.downloadable) {
         return null
      }

      return { [`download`]: "link or w/e" }
    }
  }
})

HTML:

  <a v-bind="dynamicAttribute">{{msg}}</a>
dziraf

If you want it to look like:

<a ... download="value">text</a>

with download visible only when downloadable is true, you can actually do it using v-bind:

https://jsfiddle.net/eywraw8t/274691/

You can check if it works by changing downloadable to true or false and inspecting the element.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to add dynamically attribute in VueJs

From Dev

How can I dynamically add table rows

From Dev

How can I dynamically add to this object

From Dev

How can I dynamically add a method to a class?

From Dev

How can I add a new tab dynamically?

From Dev

How can I add CardView dynamically in RecyclerView?

From Dev

How can I add an instance attribute in subclass?

From Dev

How can I type hint a dynamically set class attribute in a metaclass?

From Dev

How can I update an angular directive attribute dynamically?

From Dev

How can I add a `/` to an attribute I'm binding data to?

From Dev

How can I replace left CSS attribute (set in .css file) with right CSS attribute dynamically?

From Dev

How can I add a SVG graphic dynamically using javascript or jquery?

From Dev

How can I add URL's dynamically to Protractor tests?

From Dev

How can i add header to the table which is constructed dynamically?

From Dev

How Can I Add A Spinner Dynamically(By Press Of A Button)?

From Dev

How can I dynamically add a WTForms TextField to a FieldList using jQuery?

From Dev

How can I dynamically add where clauses with querydsl?

From Dev

How can I dynamically add actions to a QMenu while it is open on a Mac?

From Dev

How can I dynamically add values to a javascript object

From Dev

How can I add bash tab completion dynamically?

From Dev

how can I dynamically add key in array of object?

From Dev

How can I add an option to the context menu dynamically in a Chrome extension?

From Dev

How can I add rows dynamically in datatable for SQL Server

From Dev

How can I dynamically add a WTForms TextField to a FieldList using jQuery?

From Dev

how can i add and remove element dynamically from linear layout?

From Dev

How Can I Add A Spinner Dynamically(By Press Of A Button)?

From Dev

How can I add model list values dynamically in MVC?

From Dev

How can i add header to the table which is constructed dynamically?

From Dev

how can I dynamically add key in array of object?

Related Related

  1. 1

    How to add dynamically attribute in VueJs

  2. 2

    How can I dynamically add table rows

  3. 3

    How can I dynamically add to this object

  4. 4

    How can I dynamically add a method to a class?

  5. 5

    How can I add a new tab dynamically?

  6. 6

    How can I add CardView dynamically in RecyclerView?

  7. 7

    How can I add an instance attribute in subclass?

  8. 8

    How can I type hint a dynamically set class attribute in a metaclass?

  9. 9

    How can I update an angular directive attribute dynamically?

  10. 10

    How can I add a `/` to an attribute I'm binding data to?

  11. 11

    How can I replace left CSS attribute (set in .css file) with right CSS attribute dynamically?

  12. 12

    How can I add a SVG graphic dynamically using javascript or jquery?

  13. 13

    How can I add URL's dynamically to Protractor tests?

  14. 14

    How can i add header to the table which is constructed dynamically?

  15. 15

    How Can I Add A Spinner Dynamically(By Press Of A Button)?

  16. 16

    How can I dynamically add a WTForms TextField to a FieldList using jQuery?

  17. 17

    How can I dynamically add where clauses with querydsl?

  18. 18

    How can I dynamically add actions to a QMenu while it is open on a Mac?

  19. 19

    How can I dynamically add values to a javascript object

  20. 20

    How can I add bash tab completion dynamically?

  21. 21

    how can I dynamically add key in array of object?

  22. 22

    How can I add an option to the context menu dynamically in a Chrome extension?

  23. 23

    How can I add rows dynamically in datatable for SQL Server

  24. 24

    How can I dynamically add a WTForms TextField to a FieldList using jQuery?

  25. 25

    how can i add and remove element dynamically from linear layout?

  26. 26

    How Can I Add A Spinner Dynamically(By Press Of A Button)?

  27. 27

    How can I add model list values dynamically in MVC?

  28. 28

    How can i add header to the table which is constructed dynamically?

  29. 29

    how can I dynamically add key in array of object?

HotTag

Archive