官术网_书友最值得收藏!

Binding attributes with v-bind

It would be helpful if a tooltip showed the number of notes we already had on the "Add note" button, wouldn't it? At least we can introduce another useful directive!

The tooltips are added with the title HTML attribute. Here is an example:

<button title="3 note(s) already">

Here, it is only a static text, though, and we would like to make it dynamic. Thankfully, there is a directive that allows us to bind a JavaScript expression to an attribute--v-bind. Like the v-on directive, it expects an argument, which is the name of the target attribute.

We can rewrite the preceding example with a JavaScript expression as follows:

<button v-bind:title="notes.length + ' note(s) already'">

Now, if you leave the mouse cursor over the button, you will get the number of notes:

Like the v-on directive, v-bind has a special shortcut syntax (both are the most used directives)--you can just skip the v-bind part and only put the : character with the attribute name. The example would look like this:

<button :title="notes.length + ' note(s) already'">

JavaScript expressions bound with v-bind will re-evaluate automatically when needed and update the value of the corresponding attribute.

We could also move the expression to a computed property and use it instead. The computed property could be as follows:

computed: {
  ...

  addButtonTitle () {
    return notes.length + ' note(s) already'
  },
},

Then, we would rewrite the bound attribute, as follows:

<button :title="addButtonTitle">
主站蜘蛛池模板: 卢氏县| 阜新| 乌拉特前旗| 漳浦县| 黑龙江省| 盐津县| 会理县| 寿宁县| 秀山| 琼海市| 海伦市| 舞阳县| 华容县| 呼图壁县| 甘南县| 黄浦区| 珠海市| 丹凤县| 辽宁省| 海南省| 杭锦后旗| 广州市| 郑州市| 邹平县| 青州市| 都昌县| 湘潭县| 化州市| 怀宁县| 民县| 开原市| 张家港市| 宁海县| 通辽市| 朝阳市| 常宁市| 平湖市| 维西| 南和县| 阳高县| 秦安县|