vue學習筆記

2021-10-07 16:07:15 字數 3040 閱讀 3835

一、vue以及生態圈(技術棧)

vue技術棧:

官方: vue vue-router vuex

第三方:

axios(網路通訊) elementui(pc) mintui(mobile) vux(mobile)

weex(實現native)

。。。。

1、基礎語法

指令:v-for="(tmp,index) in list"

v-if=「expression」

: v-bind 屬性繫結

@ v-on 事件繫結

v-model 表單元素 雙向資料繫結(

view->model 將表單操作的結果 繫結到資料

model->view 將資料繫結到表單元素

)屬性:

vue.component(』』,)

2、元件

封裝的好處?

①提高**的復用率

②提到了開發速度

③提高了**的可維護性

元件:是可被反覆使用的,帶有特定功能的檢視

建立:sfc(single file component) **.vue

使用:路由訪問 login–》login.vue

作為子元件

假設main.vue需要呼叫header.vue:

import header from 『…』

//宣告為全域性

vue.component(『my-header』,header)

//宣告為區域性

vue.component(『main』,

})3、通訊

元件間通訊

props down (父–》子)

傳送:

接收:

vue.component('my-list',)

events up (子---》父)

event bus

refparent

網路通訊

npm i axios

import axios from 『axios』

axios.get/post(url).then(()=>{})

4、路由

(路由的本質:建立一種對映關係)

基礎路由的搭建

①安裝核心外掛程式 vue-router,啟用

vue.use(vuerouter)

②準備乙個容器

③完成路由陣列的定義和呼叫

//路由詞典(路由陣列)由多個路由物件構成的陣列

const myroutes = [,]

new vue()

})跳轉

this.$router.push(』/main』)

傳參:① 配置接收方的路由

/main —> /main/:id

② 傳送

this.rou

ter.

push

(′/m

ain/

3′)③

接收th

is

.router.push('/main/3') ③ 接收 this.

router

.pus

h(′/

main

/3′)

③接收t

his.

route.params.id

路由巢狀

假設a需要巢狀b、c

①給a指定乙個容器

②設定子路由…]

}路由守衛

router.beforeeach()

}路由懶載入

const foo = () => import(』./foo.vue』)

const router = new vuerouter(

]})

5、vuex

vuex集中式管理資料

state:管理資料

getters:獲取資料

mutations: 修改的資料

actions:非同步

modules:模組化

什麼是vue:

漸進式的 基於mvvm的 執行資料操作的 純前端js框架

漸進式: 可以逐步在專案中使用vue框架

可以和現有傳統技術很好的結合

全家桶: 如果要使用一種框架,就只能使用框架的所有技術。不能和其它技術混搭。

基於mvvm?

執行資料操作的: 終極簡化對網頁執行的資料操作: 增刪改

純前端js框架: 不要nodejs,僅靠瀏覽器就可執行專案

mvvm模式:

傳統的dom:

html: 只負責靜態內容,不會自動變化

css: 只負責靜態樣式,不會自動變化

js: 即要負責內容的變化,又要負責樣式的變化

問題: 1. 步驟繁瑣且重複: 查詢,繫結,遍歷,替換,拼接字串

2. 不便於維護:jquery中,如果頁面結構或內容發生變化,則js中選擇器和html片段都要跟著修改

現代框架: mvvm模式

介面/檢視view: 包括靜態的html+css

資料模型model: 頁面中所需的所有資料的整體

控制器/檢視模型viewmodel: 自動將資料模型model中的變數,填充到介面中所需的位置

總結: 什麼是m v vm模式: 頁面需要什麼,模型就定義什麼。

檢視模型會自動將模型中的資料填充到頁面中。且模型資料發生變化時,檢視模型會自動更新頁面。

優點: 1. 沒有任何重複的**

2. 介面和模型松耦合,介面變化,不需要修改模型,甚至不需要修改viewmodel控制器。——及其便於維護

viewmode的原理:

當new vue將模型物件和頁面元素繫結在一起時,內部自動構建兩大子系統:

響應系統:

自動將data中的每個變數變成訪問器屬性

今後,所有對變數的讀寫,自動都被訪問器接管,由訪問器屬性代為執行。

比如:修改變數的值時,自動呼叫變數的set方法,修改實際的變數值。

而每個變數的set方法,當變數發生改變時,都會自動傳送通知:***變數的值變成***了

通知是交給另一子系統,虛擬dom樹的

vue學習 筆記

v model 雙向繫結 v if v else if v else v on 繫結事件 v bind 繫結資料 v cloak 當vue未初始化完成前可不顯示為賦值的 vue屬性名稱 需要給v cloak設定 display none v for i迴圈次數 a資料中的資料 arr定義的陣列 最好...

vue學習筆記

vue學習筆記 從7月2日到7月4日三天的學習成果 一 vue的起步 及配置環境 3 使用vue cli快速搭建vue專案vue init webpack 為專案名 建立成功需要等待一段時間 4 輸入npm run dev編譯專案,成功後根據提示或根據修改的埠號登陸 lacalhost 5.看到下圖...

vue 學習筆記

1.v if v show區別 v if 是 真正 的條件渲染,因為它會確保在切換過程中條件塊內的事件 和子元件適當地被銷毀和重建。v if 也是惰性的 如果在初始渲染時條件為假,則什麼也不做 直到條件第一次變為真時,才會開始渲染條件塊。相比之下,v show 就簡單得多 不管初始條件是什麼,元素總...