iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
1
Modern Web

學習 vue 30天系列 第 7

Vue 07 v-bind 動態屬性指令

v-bind 是拿來更新 HTML 上面的屬性來使用,直接看範例:

https://ithelp.ithome.com.tw/upload/images/20190901/20109609QAHvmk0dgY.png

<div id="app">
  <a href="link">Google Link</a>
</div>


<script>
var app = new Vue({
  el: '#app',
  data: {
    link: 'google.com'
  }
})
</script>

在沒有學習之前先自己摸索,我的想法是把 link 直接加上 {{ link }}href 中,可是這樣是沒有效果的,我們可以看一下畫面:

https://ithelp.ithome.com.tw/upload/images/20190901/20109609GBwKKTGt3k.png

<div id="app">
  <a href="{{ link }}">Google Link</a>
</div>


<script>
var app = new Vue({
  el: '#app',
  data: {
    link: 'google.com'
  }
})
</script>

所以這邊要用到的語法叫 v-bind ,這邊我們把它加上去看看效果會怎麼樣:

https://ithelp.ithome.com.tw/upload/images/20190901/20109609CmoWNvqF3F.png

<div id="app">
  <a v-bind:href="{{ link }}">Google Link</a>
</div>


<script>
var app = new Vue({
  el: '#app',
  data: {
    link: 'google.com'
  }
})
</script>

咦?怎麼還會錯勒,阿~~~原來是因為要把 {{}} 給拿掉呀!
我們把 {{}} , 拿掉看看畫面會怎麼樣!

https://ithelp.ithome.com.tw/upload/images/20190901/20109609VBBbuOp7jy.png

<div id="app">
  <a v-bind:href="link">Google Link</a>
</div>


<script>
var app = new Vue({
  el: '#app',
  data: {
    link: 'google.com'
  }
})
</script>

這邊就可以成功的把網址放到 href 當中了!!!

那再來想想還有什麼會添加屬性上 HTML 呢?
這邊我想到的有 classimg scrdata-*,那這邊用同樣的觀念用 class 試著把 Googl Link 的文字顏色及底線都給改變一下:

https://ithelp.ithome.com.tw/upload/images/20190901/20109609N0xpPSow7F.png

<div id="app">
   <a v-bind:href="link" v-bind:class="className">Google Link</a>
</div>

 <style>
    .style {
        color: burlywood;
        text-decoration: none;
    }
</style>


<script>
var app = new Vue({
  el: '#app',
  data: {
    link: 'google.com',
    className: 'style'
  }
})
</script>

這樣就成功的學改到它樣式了!!!


上一篇
Vue 06 MVVM 的概念
下一篇
Vue 08 v-for 動態產生多筆資料到畫面上及 v-if 判斷使用
系列文
學習 vue 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言