跳至主要内容

Vuetify II

Vuetify && Vue router?

By Jimmy 111/03/30


快速複習​

上禮拜太多人沒有來...所以打算快速重講一次(X


Vue Review --​

Folder Structure​



node_modules​

存放經npm/yarn安裝後的套件

public​

公共檔案目錄(不經壓縮處理)


src​

開發目錄上層

  • assets 主要為靜態資源--css.image.icon.font...
  • components 頁面元件存放路徑(bar...)
  • router 路由定義
  • views 路由元件(login/register...)
  • app.vue 專案主元件,在此進行路由切換
  • main.js 初始化vue元件並load需要的plugins

babel.config.js​

babel規則配置檔

package.json​

project的元件包

yarn.lock​

統一鎖定所有套件的版本號,避免不可預測的bug出現


Vuetify 基本介紹​


Website = Html + Css + JavaScript​


Just HTML​


透過CSS來美化網頁​


Vuetify:建立在Vue.js之上的一種Material Design框架​

美化介面的一種工具​


Vuetify基礎教學​


v-app​

幫助user在跨瀏覽器時,自動變更成適合那個瀏覽器的重要組件,缺乏他的話可能會造成你在跨瀏覽器時出現問題,而且還找不到原因!​

(EX: Firefox執行正常,但Chrome可能直接壞掉)​


v-main​

讓網頁內所有的組件在畫面縮小或放大時,能夠自己適應畫面的大小,而不會直接壞掉。​


v-container​

幫組件跟組件之間抓出恰當的距離,才不會讓組件擠成一坨。​

基本上組件都是放在v-container裡面​


v-col & v-row​

只能row裡面放col, 不能col裡面放row!!​

![](https://i.imgur.com/iQ7pBpW.png =500x)


v-col??​

由於vuetify本身的cols,屬性是以手機為標準,並把螢幕切成12等分,所以可以想像一下card可以放多少cols在裡面。

Q:如何把手機跟電腦螢幕大小做區隔? A:直接加屬性在col上面就行了,至於斷點的部分在說明文件上都有詳細描述。


v-card​

簡單來說就是一般的卡片(ex賀禮卡),有一定的格式跟規範,如果不想follow格式的話,也可以用"v-sheet"。​


以上ㄉ內容是我上禮拜講的大致內容,讓我們繼續~~​


v-app-bar​

顧名思義就是網頁上面那條bar(YunNET)​


  • v-app-bar bar最基本的語法(color.size...)

  • v-app-bar-nav-icon (三橫線、抽屜)

  • v-app-bar-title(v-toolbar-title)

  • collapse-on-scroll


v-app-btn​


我們來review一下vue基本語法​

先來建立vue projectㄅ​


vue create xx

xx為你要打的project name​


再來選“Manually select features”​

按照圖片選(也就是再多選Router)就行​

後面ㄉvue version請選2.0!​


formatter我自己一般選“EsLint+Prettier”​


cd xx (xx為你打的project name)

加入vuetify套件進來​

vue add vuetify

如果遇到這個問題,打yes就好


選recommended~​

等他跑完...​

code .

打開VSCode​


如果跑出這ㄍ 沒關係,就一樣打開vscode


先進入homeview.vue​

把Home改成一個複合單字(Ex:HomeApple)

註:後面在views建立檔案的時候,裡面的name記得一樣要用複合單字!​

可以另外開一個terminal,然後進到project的資料夾

yarn serve

先看components跟views​

components:​

  • Helloworld.vue

views:​

  • HomeView.vue
  • Homeabout.vue

再來我們來看app.vue​


最後的最後,我們來看router裡面的index.js​

hash vs history



今天的目標:​

試著刻出一個版,如圖:​


  • 包含app-bar, button(components.views).cards(24個)​

  • bar跟cards以components方式引入至index畫面​

  • 以router達成 點擊button時可跳轉到另一畫面(ex: helloworld)​


cards的參考資料​

vue router的history mode​