iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
Vue.js

重新認識 Vue.js系列 第 3

重新認識 Vue.js Day03:使用 CDN 掛載 Vue2

  • 分享至 

  • xImage
  •  

從 CDN 開始吧

Vue.js 主打的其中一個重點就是漸進式框架,可以讓你根據想用到的東西以及深度,慢慢的把套件塞進去,今天我們先從最基本的 CDN 引用開始吧

html 的起手式

老樣子,我們先建立一個基本的 html 樣板,並且將 Vue2 的 CDN 掛上去

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Reacquaint Vue.js</title>
</head>
<body>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
</body>
</html>

這樣我們就可以開始使用 Vue.js 的內容囉

有需要才會使用新的東西

上一天我們有提到之所以要使用 Vue.js 是因為他對於 VDOM 是個比較好入門的方法,相較於要自己一步一步去實作,果然還是站在巨人的肩膀上是個較快的做法,因此,我們第一個需求就是將 DOM 交給 Vue.js 接管

  • 把 DOM 切換成 VDOM
    第一步,呼叫 Vue 的實體,並且將要綁定的地方告訴他
let vm = new Vue({
    el: '#app',
})

這種方法會在建立 Vue 實體時就將 #app 這個元件交給 Vue 接管,我們還可以使用 $mount 這個函式在想要的時間將 Vue 綁上去,不過通常還是在網頁初始化時就是,若有什麼特殊的需求另外說吧

let vm = new Vue({
}).$mount('#app')

然後我什麼都沒看到?

沒錯,因為我們需要另外一個大寶貝,Vue-tools,這是一個在 chrome 的擴充工具,最大的用途就是來調適您的 Vue 相關內容,他會出現在開發者管理工具的選單內,若在使用 CDN 下沒出現這個選單有三個原因

  1. 引用到壓縮版的 Vue(min.js):壓縮版的 Vue 無法讓 Vue-tools 偵測到
  2. 使用到產品版的 Vue:相信我,你不會希望別人打開你的網站可以很開心的觀看你的變數在玩什麼
  3. Vue-tools 沒有查看檔案網站的權限:這邊是個坑,當你很開心的透過 web-server 功能打開此網頁卻發現沒有出現此擴充功能,上面兩個原因都確認過了,基本上就是因為你沒有提供 Vue-tools 可以直接查看檔案的權限,勾起來就好囉

https://ithelp.ithome.com.tw/upload/images/20230903/20109403aHdqrsRWM2.png

接下來,我們就會看到我們的 Vue-tools 上面有我們的根目錄啦

https://ithelp.ithome.com.tw/upload/images/20230903/20109403w7rewiAZfP.png

我們接下來很多內容都可以在 Vue-tools 中做確認,若您招來一個 Vue.js 的新人他第一天還沒有在 chrome 裝這個,不是天縱奇才就是關係很硬,建議直接供奉起來了

來寫個 hello world 吧

在 Vue 中,我們可以透過雙大括號來將值放在視圖上,這邊會需要兩個步驟

  1. 在 Vue 中宣告一個變數
  2. 使用雙括號引用他

首先第一步驟,我們可以在 Vue 中透過 data 這個函式將值宣告出來

let vm = new Vue({
    el: '#app',
    data(){
        return {
            message: 'hello world'
        }
    }
})

此時若去看 Vue-tools 已經可以看到在 root 內有著 message 這個值囉
之後,我們在 div#app 裡面放置雙大括號,引用 message 即可

<div id="app">
    {{message}}
</div>

https://ithelp.ithome.com.tw/upload/images/20230903/20109403hnwPr7S6bz.png

這邊仔細觀察,會看到網頁上一開始會先顯示 {{message}} 後來才會出現 hello world ,這是因為從網頁 DOM 渲染好後,Vue 才掛上去並且將雙大括號給轉變成需要的值,這邊後續會再慢慢提到,今天就到此結束啦。

在寫文章的這天海葵颱風準備從台灣東南方進來,希望能夠平安渡過。


上一篇
重新認識 Vue.js Day02:網頁架構的轉變
下一篇
重新認識 Vue.js Day04:雙向綁定的最小實現
系列文
重新認識 Vue.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言