vue-cli組件總結(jié)

1.組件的組成

<temmplata>? <scrippt>? <style>

2.組件的樣式隔離

<style scoped>

3.dom元素的獲取

定義:<div ref="scroll">

使用:this.$refs.scroll

4.生命周期鉤子函數(shù)

創(chuàng)建前后:beforeCreate? ? ? ?created(可以獲取this)

渲染前后: beforeMount? ? ?mounted(可以獲取dom元素)

更新前后:beforeUpdate? ?updatad(可以執(zhí)行多次)

銷毀前后:beforeDestroy(銷毀前移除定時器)? dastroyed

5.組件的運用

? ? 1.創(chuàng)建 xxx.vue的組件=》2.import xxx from "xxx.vue"導(dǎo)入

? ? ? ?3.注冊 components{xxx}=>4.使用組件<xxx></xxx>

6.組件傳參

? ? ? ? 1.父傳子:

?父 屬性的方式傳 <child :gallery=“值”>

?子? 通過props 接收props:["gallery"]

? ? ? ? 2.子傳父

? ??子 發(fā)送事件的方式? ? ?this.$emit("事件名",事件的參數(shù))

? ? ?父 監(jiān)聽事件? ? <child v-on:事件名=“ ”>

7.引入外部插件的一般方法? swiper

????????1. 工作目錄 安裝? : myvue> npm install swiper -S

? ? ? ? ?2. 使用的組件里面 導(dǎo)入mport Swiper from ‘swiper’

? 如果引入的目錄沒有./? ? ../等相對目錄,那么就會從 node_module查找需要引用的內(nèi)容

? ? ? ? 3 . 樣式import? ‘xxxxx/swiper.js’

? ??????4. dom 結(jié)構(gòu)

????????????.swiper-contianer? =>? -- .swiper.wrappr=> --- .swiper-slide

????????5. 初始化swiper

????????????new Swiper(‘.swiper-container’)

????????????swiper組件是要操作dom的,我就應(yīng)該在組件生命周期

? ? ? ? ? ? ? ?mounted 完畢 取執(zhí)行 初始化 swiper

8.單頁面 SPA

特點:所有頁面都集成在一個html文件里面 窿给;其他子頁面,通過ajax取獲取

? ??????通過瀏覽器地址欄參數(shù)(hash)的變化來進去頁面頁面間的切換

優(yōu)點:

1. 子頁面加載速度快(頁面中js第公用墩新,css公用,html是渲染出來窟坐,)只要ajax加載一點json數(shù)據(jù)

2. 模擬手機頁面切換海渊,

3. 用戶體驗好

缺點:搜索引擎不友好(頁面是動態(tài)加載出來)

9.路由

配置:{

path:'/',

// 路由對應(yīng)的地址

name:'Home"

// 路由的名稱

component:Home

// 路由對應(yīng)的組件

// 如果瀏覽器地址欄hash值(#后面的值)對應(yīng)的是當(dāng)前的Path

//? component 對應(yīng)的組件就會被填充到 router-view這個內(nèi)置組件里面。

}

路由頁面配置:

1. 創(chuàng)建組件 User.vue

2. 在src/router/index.js

? ? import User from? User.vue

? (導(dǎo)入組件)

3. 配置路由

{

path:"/user",

name:"User",

component:User

}

4. 添加導(dǎo)航? App.vue

<router-link to="/user">

組件內(nèi)路由參數(shù)的獲取

獲取參數(shù)不帶r

組件內(nèi)路由參數(shù)的獲取

獲取參數(shù)不帶r

路由參數(shù)

$route.params.id

查詢參數(shù)

$route.query.名稱

地址

$route.path

10.js 路由切換

$router.go() 跳轉(zhuǎn)路由

$router.push() 切換到某個頁面

$router.replace() 切換頁面不留歷史記錄

11.router-link切換路由

to="/"

簡單屬性

:to="{name:'Home'}"

對象 -按路由名稱

:to="{name:'Produce,params:{id:456}}"

對象帶參數(shù)

:to="{path='/produce/xyz?from=中國'}"

path切換的參數(shù)配置就不啟效果了

12.路由其他配置

重定向

{path:'a',redirect:'b'}

別名

{path:'/',alias:['/home','/main']}

404

{path:'*',component:NoMatch}

路由鏈接高亮

.router-link-exact-active

精確匹配

.router-link-active

匹配

13.路由的守衛(wèi)頁面進入離開前做些事情

全局守衛(wèi)

beforeEach

所有頁面進入天調(diào)用

回調(diào)函數(shù)參數(shù)

to 要去的頁面路由

from 要離開的頁面路由

next 下一步

1. next 一定要被調(diào)用

2. next(false) 不跳轉(zhuǎn)

3.next() 直接進入to頁面

3.next("/login") 進入登錄頁面

afterEach

所有頁面離開調(diào)用

組件內(nèi)部守衛(wèi)

beforeRouteEnter 在路由進入前(this沒有)

beforeRouteUpdate() 在路由更新前

beforeRouteLeave()在路由離開前

路由獨享守衛(wèi)

14.路由的懶加載

component:()=>import(produce.vue)

produce.vue會被單獨分割為一個js文件

當(dāng)需要頁面是才會加載這個頁面

如果瀏覽器有空閑也會提前加載這個頁面

component:()=>import(/* webpackChunkName: "category" */ 'produce.vue')

webpack魔法注釋哲鸳,會把當(dāng)前js文件名稱命為 category.js

15.vant

1. 在項目目錄安裝 cd /vrouter

npm i vant -S

2. main.js 導(dǎo)入

import Vant from ’vant‘;

import 'vant/lib/index.css'

Vue.use(Vant);

3. 去官網(wǎng)粘貼代碼修改參數(shù)

<van-nav-bar

? title="登錄"

? left-text=""?

? left-arrow

? @click-left="$router.go(-1)"?

/>?

4 審查元素 修改css

.van-nav-bar .van-icon{

? ? ? ? color:#777 !important;

? ? }

16.axios? ?http請求

axios

http請求

安裝

切換到項目目錄

cd /vrouter

cnpm install axios -S

掛載

main.js

import axios from 'axios'

Vue.prototype.$http = axios;

get

this.$http.get(url?page=1)

this.$http.get(url,params:{page:2})

post

this.$http.post(url,"k=v&k2=v2",{

"Content-Type":'application/x-www-form-urlencoded'

})

file

1. 獲取文件? let file = this.$refs.file[0]

2. formData

let data = new FormData().append("file",file);

3. 配置

let configs = {

? ? ? ? headers:{'Content-Type':'multipart/form-data'}

? ? ? }

4. 請求

$http({

? ? url,

? ? data,

? ? configs,

})

全局配置

作用:1. 方法修改請求域名臣疑,切換地址

2. 省略了再每個ajax請求都需要去配置的事情

在 main.js配置

import axios from 'axios';

axios.defaults.baseURL = "http://520mg.com";

// 配置基礎(chǔ)url

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

// 配置post編碼

// axios.defaults.withCredentials = true;

//跨域請求的全局憑證

// import axios from './assets/js/axios.min.js'

Vue.prototype.$http = axios;

//? 掛載axios到vue的原型公用方法上面

//? 所有vue的實例都將擁有$http

使用的時候

$http.get("/mi/list.php")

$http.get("http://www.520mg.com/mi/list.php") 效果一致的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市帕胆,隨后出現(xiàn)的幾起案子朝捆,更是在濱河造成了極大的恐慌,老刑警劉巖懒豹,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芙盘,死亡現(xiàn)場離奇詭異,居然都是意外死亡脸秽,警方通過查閱死者的電腦和手機儒老,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來记餐,“玉大人驮樊,你說我怎么就攤上這事∑停” “怎么了囚衔?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雕沿。 經(jīng)常有香客問我练湿,道長,這世上最難降的妖魔是什么审轮? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任肥哎,我火速辦了婚禮辽俗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篡诽。我一直安慰自己崖飘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布杈女。 她就那樣靜靜地躺著朱浴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碧信。 梳的紋絲不亂的頭發(fā)上赊琳,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天街夭,我揣著相機與錄音砰碴,去河邊找鬼。 笑死板丽,一個胖子當(dāng)著我的面吹牛呈枉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播埃碱,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼猖辫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砚殿?” 一聲冷哼從身側(cè)響起啃憎,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎似炎,沒想到半個月后辛萍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡羡藐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年贩毕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仆嗦。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡辉阶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘩扼,到底是詐尸還是另有隱情谆甜,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布集绰,位于F島的核電站规辱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏倒慧。R本人自食惡果不足惜按摘,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一包券、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炫贤,春花似錦溅固、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掠河,卻和暖如春亮元,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唠摹。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工爆捞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人勾拉。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓煮甥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親藕赞。 傳聞我的和親對象是個殘疾皇子成肘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容

  • vue-cli搭建項目 確保安裝了node與npm 再目標(biāo)文件夾下打開終端 執(zhí)行cnpm i vue-cli -g...
    Akiko_秋子閱讀 3,227評論 1 22
  • vue是什么? vue是構(gòu)建數(shù)據(jù)驅(qū)動的web界面的漸進式框架斧蜕。Vue.js 的目標(biāo)是通過盡可能簡單的 API 實現(xiàn)...
    九四年的風(fēng)閱讀 8,703評論 2 131
  • 基于Vue的一些資料 內(nèi)容 UI組件 開發(fā)框架 實用庫 服務(wù)端 輔助工具 應(yīng)用實例 Demo示例 element★...
    嘗了又嘗閱讀 1,149評論 0 1
  • Vue2.0+組件庫總結(jié) UI組件 element - 餓了么出品的Vue2的web UI工具套件 Vux - 基...
    szch閱讀 1,975評論 1 52
  • UI組件 element- 餓了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的組件庫 m...
    35eeabfa0772閱讀 3,268評論 7 12