Vue.js 从零开始:v-bind

这篇终於要开始学习指令,先从v-bind开始介绍,单纯用JavaScript来控制的属性,需要写蛮多的程序码,只要使用Vue的指令会省略很多,以下开始实作吧!


1.绑定Style

定义datastyle的资料,用资料来控制画面样式:

const vm = Vue.createApp({
  data() {
    return {
      text: 'Hello Vue!!',
      style: {
        color: "#0095C0",
        background: "#000",
      }
    }
  }
}).mount('#app');
<div id="app">
  <div :style="style">{{ text }}</div>
</div>

以上用物件格式写到style里面,如果用阵列格式可以改成以下:

const vm = Vue.createApp({
  data() {
    return {
      text: 'Hello Vue!!',
      red: {
        color:"#0095C0",
      },
      blackbBg: {
        background: "#000",
      }
    }
  }
}).mount('#app');
<div id="app">
  <div :style="[red,black]">{{ text }}</div>
</div>

2.绑定Class

需要动态绑动Class时,可以 { } 大括号撰写判断式,而动态的关键,就是dataisAcrive的值:

const vm = Vue.createApp({
  data() {
    return {
      text: 'Hello Vue!!',
      isAcrive: true,
    }
  }
}).mount('#app');

data建立一个isAcrive变数,来决定是否要套用ClassName

<div id="app">
  <div class="bgblue" :class="{active: isAcrive}">{{ text }}</div>
</div>

v-bild:class="{'要绑定的className': 判断式}"}dataisAcrive如果是true就套用,如果是false就不套用。

使用三元运算子做更多变化

const vm = Vue.createApp({
  data() {
    return {
      text: 'Hello Vue!!',
      isAcrive: true,
    }
  }
}).mount('#app');

沿用上一个JavaScript。

<div id="app">
  <div class="active"
  :class="[ isAcrive? 'bgblue' : 'bgred' ]" 
  @click="isAcrive = !isAcrive">{{ text }}
  </div>
</div>

v-bind:class="[判断式? '结果为true的 Class': '结果为false的 Class']",利用点击事件达到控制data里的isAcrive值,从而改变className


总结

v-biud除了可以绑定styleclass,还有很多标签属性可以做绑定,像是常见的id,图片的src,连结的hrefDOM都可以透过v-biud来达到动态的效果,以上有用到 都是v-biud的缩写,是v-bind绑定後的属性。


参考资料

Vue.js 的黑魔法:指令
Vue官网
Vue笔记
v-bind动态绑定

/images/emoticon/emoticon13.gif


<<:  【Day08】条件渲染 Conditional Rendering

>>:  Day 10:架设 Prometheus (2)

《赖田捕手:追加篇》第 35 天:制造 Deploy to Heroku 按钮

第 35 天:制造 Deploy to Heroku 按钮 我打开信封,有张明信片在里面。明信片封面...

[Day16] 依据反馈改进初始对话流

从昨天的文章中,我们获得了数种进行绿野仙踪实验的方法 在今日的文章,假定我们已经获取用户的反馈。并...

goroutine

Golang goroutine 我自己理解goroutine 就很类似其他语言的thread[备注...

Day.2 「欢迎来到网页这个世界!」 —— 认识网页架构

网页世界是由什麽组成? 上一篇有讲到网页三兄弟,其中有一个老大哥负责撑起这个世界,那就是 HTML...

AE极光制作3-Day9

接续昨天的练习:https://ithelp.ithome.com.tw/articles/1026...