iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

前言

使用Vue.js都開始都是建立一個Vue實例

new Vue({
    el : "#root",
    data : {
        key : 'value',
        data2 : {
            key : 'value2'
        }
    }
})
  • el:捉取的容器
  • data:獲取的資料
    以下介紹如何用Vue獲取數據

差值語法

<div id="root">
    <h1>{{key}}<h1>
    <h1>{{key.toUpperCase()}}<h1>
    <h1>{{Date.now()}}<h1>
    <h1>{{data2.key}}<h1>
</div>

若不使用vue指令獲取數據的話
會使用 {{ }} 獲取data中的數據
除此之外也可以搭配javaScrit中可用的方法

另外若data中包了多層數據
在獲取中從最外層開始抓取也能獲取內層的數據

指令語法

v-bind:

v-bind為單向數據綁定
在使用上只能獲取數據
並不能更改data中的數據

但如果異動了data中的數據
v-bind捕捉的數據vue會立即重新解析模板
將新數據更新在頁面上

<div id="root">
    <input type="text" v-bind:value="key" >
    <!-- v-bind:value="xxx" 可以簡寫成 :value="xxx" -->
    <a v-bind:href="data.key" ></a>
</div>

使用v-bind: + 標籤指令
可以捉取data中的數據並且搭配接受到的標籤指令
除此之外跟差值語法一樣
可以使用function()

v-model:

v-model跟v-bind的差別在於數據流向
v-model是雙向綁定
所以異動到v-model中綁定的數據
Vue.data的數據也會跟著異動(通常使用於input select...)

<div id="root">
    <input type="text" v-model="key" />
</div>

v-model 默認捕捉value的數據 所以不用特別標示補著的標籤指令

若今天使用上了v-model和v-bind 並且捕捉了相同的數據
那在v-model更改數據後 v-bind也會同步更新**

使用v-model可以搭配的方法

  • v-model.lazy :輸入匡失去焦點在捉取數據
  • v-model.number:將輸入匡的數據轉為數字
  • v-model.trim :將輸入匡的數據前後移除空白

以上就是數據綁定的說明


上一篇
2023 鐵人賽_Vue2 基本使用規則 (Day1) - 初步認識 Vue
下一篇
2023鐵人賽_Vue2基本使用規則(Day3)-Vue實例
系列文
Vue2 初步認識以及基本使用規則 && 了解 Vue2 的基本原理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Hell Kiki
iT邦新手 4 級 ‧ 2023-09-02 16:41:14

v-model:value不能簡寫成 :value喔
而且 v-model:something 應該是vue3的語法
vue2應該是

 <input type="text" v-model="key" />

<input type="text" :value="key" @input="key = $event" />

可以參考這裡

非常謝謝大神的糾正
這邊我寫錯了

v-bind:value 可以簡寫成 :value="xxx"
v-model 默認收集value值 不能寫成 v-model:xxx="xxx"

感謝Hell Kiki指導

我要留言

立即登入留言