vue的一些基礎(chǔ)回顧

一锐墙、 vue的基礎(chǔ)用法

v-if :是否插入元素 (用的相對(duì)較少)
v-show :是否隱藏元素

二、父子組件傳值(父?jìng)髯樱?/h3>
  • 1.父?jìng)髯拥臅r(shí)候通過屬性傳遞
  • 2.子要聲明props:["屬性名"]來接收
  • 3.收到就是自己的了,隨便你用
    八秃。在template中 直接用
    薛闪。在js中 this.屬性名 用

總結(jié):父?jìng)髯? --父?jìng)髯樱▽傩裕勇暶鳎ㄊ眨┲ǜВ又苯佑?/p>

三百宇、注冊(cè)全局組件

  • 全局API Vue.component("組件名",組件對(duì)象);

四、附加功能:過濾器&監(jiān)視改動(dòng)

1.filter || filters

秘豹。filter為全局過濾器(給數(shù)據(jù)添油加醋顯示)vue.filter("過濾器名,過濾方式fn")
携御。組件內(nèi)的過濾器 filters:{"過濾器名",過濾方式fn}

示例一:filters的使用 ---- 示例二:filters對(duì)象的方法里面可以傳很多參數(shù)的使用

2.監(jiān)視的使用
  • watch監(jiān)視單個(gè)
  • computed監(jiān)視多個(gè)
    computed:{監(jiān)視的業(yè)務(wù)名:function(){ return 顯示一些內(nèi)容 }}
    既绕。使用:{{ 計(jì)算屬性的名稱 }}

[watch簡(jiǎn)單例子1:] (https://upload-images.jianshu.io/upload_images/8496278-e961ee2d18f30d86.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
watch監(jiān)視復(fù)雜類型的例子2:圖1-----圖2深度監(jiān)視
computed使用的例子:圖.png

總結(jié):

  • 當(dāng)組件/過濾器為全局:大家直接用 全局不帶s
  • 過濾器:function(原始數(shù)據(jù)啄刹,參數(shù)1,參數(shù)2){ return 結(jié)果;}
    凄贩。調(diào)用{{ '數(shù)據(jù)' | 過濾器名(參數(shù)1誓军,參數(shù)2) }}
    -監(jiān)視
    。watch 單個(gè)監(jiān)視
    疲扎。computed 群體監(jiān)視

五昵时、slot的使用

  • 內(nèi)置的組件
  • slot就是子組件里給DOM留下的坑 外部填入html內(nèi)容
  • <子組件>DOM</子組件>
  • slot動(dòng)態(tài)的DOM捷雕、props是動(dòng)態(tài)的數(shù)據(jù)
    例子1圖片

總結(jié)
- slot其實(shí)就是父組件傳遞的DOM結(jié)構(gòu)
- vue提供的內(nèi)置組件<slot></slot>

六、組件的生命周期

  • beforeCreate

組件創(chuàng)建之前壹甥,這里不能操作數(shù)據(jù)救巷,只是初始化了事件等

  • created

組件創(chuàng)建之后,可以操作數(shù)據(jù)句柠、并且實(shí)現(xiàn)vue->頁(yè)面的影響浦译。應(yīng)用:發(fā)起ajax請(qǐng)求。

  • beforeMount

vue起作用溯职,裝載數(shù)據(jù)到DOM之前 只執(zhí)行一次 即new Vue 發(fā)生裝載 替換<div id="app">之前

  • mounted

vue起作用精盅,裝載數(shù)據(jù)到DOM之后(就是vue作用以后的DOM )只執(zhí)行一次 注:此處才能使用this.refs.'xxxx'的dom元素。

  • beforeUpdate

基于數(shù)據(jù)改變 影響頁(yè)面 數(shù)據(jù)更新前

  • updated

基于數(shù)據(jù)改變 影響頁(yè)面 數(shù)據(jù)更新后

  • activated

結(jié)合kepp-alive使用 組件被激活了

  • deactivated

結(jié)合kepp-alive使用 組件被停用了

  • beforeDestroy

銷毀之前 對(duì)應(yīng)父組件v-if false (在父組件利用變量使子組件消失和出現(xiàn) 只能和v-if配套使用) 就銷毀當(dāng)前組件
//銷毀缸榄,最終都是做一些其他功能的釋放渤弛,比如:保存到localStorage、重置數(shù)據(jù)等功能

  • destroyed

銷毀之后
//銷毀甚带,最終都是做一些其他功能的釋放她肯,比如:保存到localStorage、重置數(shù)據(jù)等功能

  • 總結(jié)

1.created 和 actived 都是v-if=“true” 子組件的狀態(tài)
2.created沒有被keep-alive內(nèi)置組件包裹鹰贵,actived被包裹了晴氨。
銷毀和停用同上

七、獲取DOM元素

  • 救命稻草碉输,document.querySelector
  • 1:在template中標(biāo)識(shí)元素 ref="xxxx"
  • 2:在要獲取的時(shí)候籽前,this.$refs.xxxx獲取元素
    。創(chuàng)建組件敷钾,裝載DOM枝哄,用戶點(diǎn)擊按鈕
  • ref在DOM上獲取的是原生DOM對(duì)象
  • ref在組件上獲取的是組件對(duì)象
    。$el是拿其DOM
    阻荒。這個(gè)對(duì)象就相當(dāng)于我們平時(shí)玩的this挠锥,也可以直接調(diào)用函數(shù)
  • 總結(jié)
// $屬性:$refs 獲取組件內(nèi)的元素,
// $parent: 獲取當(dāng)前組件對(duì)象的父組件
// $root : 獲取new Vue的實(shí)例
// $el: 組件對(duì)象的DOM元素
一個(gè)小例子:
[01$ref獲取不到dom的情況.jpg] (https://upload-images.jianshu.io/upload_images/8496278-6fe2debdfefcd87f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
[02vue操作dom的細(xì)節(jié)點(diǎn).jpg](https://upload-images.jianshu.io/upload_images/8496278-5f8870157287a452.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
[03解決$ref獲取不到dom的情況.jpg](https://upload-images.jianshu.io/upload_images/8496278-82acb8d4cc9153bb.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

八、路由

1.路由原理
- 傳統(tǒng)開發(fā)方式 url改變后立刻發(fā)起請(qǐng)求侨赡,響應(yīng)整個(gè)頁(yè)面蓖租,渲染整個(gè)頁(yè)面
- SPA錨點(diǎn)值改變后不會(huì)發(fā)起請(qǐng)求,發(fā)起ajax請(qǐng)求羊壹,局部改變頁(yè)面數(shù)據(jù)
    蓖宦。頁(yè)面不跳轉(zhuǎn),用戶體驗(yàn)更好油猫。
 注:SPA是什么稠茂?
    - single page application(單頁(yè)面應(yīng)用程序)
    - 前端路由
      。錨點(diǎn)值監(jiān)視
      情妖。ajax獲取動(dòng)態(tài)數(shù)據(jù)
      主慰。核心點(diǎn)是錨點(diǎn)值
    - 前端框架Vue/angular/react都很適合開發(fā)單頁(yè)應(yīng)用
#demo1
<script>
      // hashchange事件..  url上的部分錨點(diǎn)數(shù)據(jù)(#xxx)改變. 可以獲取到這個(gè)事件
      window.addEventListener('hashchange',function(){
                  console.log(location.hash)
        });
</script>
[01路由的核心.jpg](https://upload-images.jianshu.io/upload_images/8496278-d71e97ed36b01c51.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2.命名路由
- 1.給路由對(duì)象一個(gè)名稱 { name:'home',path:'/home',component:Home }
- 2.在router-link的to屬性中描述這個(gè)規(guī)則
    嚣州。<router-link :to="{'name':'home'}"></router-link>
    。通過名稱找路由對(duì)象共螺,獲取其path。生成自己的href

 - 大大降低維護(hù)成本情竹,錨點(diǎn)值改變只用在main.js中改變path屬性即可
#demo2 router-link的使用
[01.router-link的使用.jpg](https://upload-images.jianshu.io/upload_images/8496278-67ca385c57ce3147.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

  • 總結(jié)

總結(jié).png

3.query與params
  - $route 路由信息對(duì)象藐不,只讀對(duì)象
  - $router 路由操作對(duì)象,只寫對(duì)象

query與params.jpg
query與params使用總結(jié).jpg

4.嵌套路由
嵌套路由的概念.png
  • 知識(shí)點(diǎn)介紹
>1.路由meta元數(shù)據(jù)->meta是對(duì)于路由規(guī)則是否需要驗(yàn)證權(quán)限的配置
   秦效。路由對(duì)象中和name屬性同級(jí){ meta:{ isChecked:true } }

>2.路由鉤子 ->權(quán)限控制的函數(shù)執(zhí)行時(shí)
  雏蛮。每次路由匹配后,渲染組件到router-view之前
  阱州。router.beforeEach( function(to,from,next) {   } )
4.編程式導(dǎo)航

-1:跳到指定的錨點(diǎn)挑秉,并顯示頁(yè)面this.$router.push({ name:'xxx',query:{id:1} }) 或者this.$router.push({ name:'xxx',params:{name:'abc'} })
-2:配置規(guī)則{name:'xxx' ,path:'/xxx/:name'}
-3:根據(jù)歷史記錄,前進(jìn)或后退this.$router.go(-1)或this.$router.go(1) 1:代表進(jìn)一步苔货,-1代表退一步

九犀概、axios

axios相關(guān)文檔鏈接

1.攔截器
  • 請(qǐng)求攔截器:在發(fā)起請(qǐng)求之前,做的事 (比如開啟loading)
  • 響應(yīng)攔截器:在響應(yīng)回來以后夜惭,做的事 (關(guān)閉loading)
  • 單請(qǐng)求配置options:axios.post(url,data,options);
  • 全局配置defaults:this.$axios.defaults
  • config:請(qǐng)求攔截器中的參數(shù)
  • response.config響應(yīng)攔截器中的參數(shù)
  • options
    姻灶。baseURL基礎(chǔ)URL路徑
    。params查詢字符串(對(duì)象)
    诈茧。transformRequest:function(post請(qǐng)求傳遞的數(shù)據(jù))
    { }轉(zhuǎn)換請(qǐng)求體數(shù)據(jù)
    产喉。transformResponse:function(res){ 自己轉(zhuǎn)換相應(yīng)回來的數(shù)據(jù) }轉(zhuǎn)換響應(yīng)體數(shù)據(jù)
    。headers請(qǐng)求頭信息
    敢会。data請(qǐng)求體數(shù)據(jù)
    曾沈。timeout請(qǐng)求超時(shí),請(qǐng)求多久以后沒有響應(yīng)算是超時(shí)(毫秒)
    1.請(qǐng)求攔截器和響應(yīng)攔截器的寫法.png
    2.isShow代表loading鸥昏,這種寫法可以放在公共的組件中塞俱,請(qǐng)求數(shù)據(jù)出現(xiàn)loading效果,有反應(yīng)則loading消失.png

十互广、webpack

1.webpack打包模塊的源碼
  • 1:把所有模塊的代碼放入到函數(shù)中敛腌,用一個(gè)數(shù)組保存起來。
  • 2:根據(jù)require時(shí)傳入的數(shù)組索引惫皱,能知道需要哪一段代碼像樊。
  • 3:從數(shù)組中,根據(jù)索引取出包含我們代碼的函數(shù)旅敷。
  • 4:執(zhí)行該函數(shù)生棍,傳入一個(gè)對(duì)象module.exports
  • 5:我們的代碼,按照約定媳谁,正好是用module.exports='xxxx'進(jìn)行賦值涂滴。
  • 6:調(diào)用函數(shù)結(jié)束后友酱,module.exports從原來的空對(duì)象,就有值了柔纵。
  • 7:最終return module.exports作為require函數(shù)的返回值

十一缔杉、vue項(xiàng)目目錄

十二霸琴、vue的實(shí)際項(xiàng)目運(yùn)用的知識(shí)點(diǎn)

十三、vuex的知識(shí)點(diǎn)

  • State 描述狀態(tài)即保存數(shù)據(jù)
  • Getter 獲取數(shù)據(jù)庐杨,定義變量的存取
  • Mutation 修改數(shù)據(jù)选调,發(fā)生變化 只能是同步代碼
  • Action 在行為中可以存著異步操作(或向后臺(tái)發(fā)送請(qǐng)求),但是最終還是通知mutations
  • Module

1.1vuex使用步驟-沒有使用actions.png
1.2vuex的取值和改變值-沒有使用actions.png
2.1vuex使用actions解決需要在更改數(shù)據(jù)前的異步.png
2.2使用actionsvuex的取值和改變值.png
3.Module的使用.png

十四辑莫、hash模式與history模式

十五揭蜒、骨架屏

1横浑、npm i -g lavas
2、lavas init
3屉更、選擇包含app_shell 也包含了骨架屏的功能

十六徙融、細(xì)節(jié)點(diǎn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瑰谜,一起剝皮案震驚了整個(gè)濱河市欺冀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萨脑,老刑警劉巖隐轩,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異渤早,居然都是意外死亡职车,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悴灵,“玉大人扛芽,你說我怎么就攤上這事』鳎” “怎么了川尖?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赡鲜。 經(jīng)常有香客問我空厌,道長(zhǎng),這世上最難降的妖魔是什么银酬? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮筐钟,結(jié)果婚禮上揩瞪,老公的妹妹穿的比我還像新娘。我一直安慰自己篓冲,他們只是感情好李破,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著壹将,像睡著了一般嗤攻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诽俯,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天妇菱,我揣著相機(jī)與錄音,去河邊找鬼暴区。 笑死闯团,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的仙粱。 我是一名探鬼主播房交,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼伐割!你這毒婦竟也來了候味?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤隔心,失蹤者是張志新(化名)和其女友劉穎白群,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體济炎,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡川抡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖堤。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侍咱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出密幔,到底是詐尸還是另有隱情楔脯,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布胯甩,位于F島的核電站昧廷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏偎箫。R本人自食惡果不足惜木柬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望淹办。 院中可真熱鬧眉枕,春花似錦、人聲如沸怜森。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)副硅。三九已至姥宝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恐疲,已是汗流浹背腊满。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留流纹,地道東北人糜烹。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像漱凝,于是被迫代替她去往敵國(guó)和親疮蹦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

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

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容茸炒,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容愕乎。關(guān)于...
    云之外閱讀 5,052評(píng)論 0 29
  • VUE Vue :數(shù)據(jù)驅(qū)動(dòng)的M V Vm框架 m :model(后臺(tái)提供數(shù)據(jù)),v :view(頁(yè)面)壁公,vM(模板...
    wudongyu閱讀 5,408評(píng)論 0 11
  • # 傳智播客vue 學(xué)習(xí)## 1. 什么是 Vue.js* Vue 開發(fā)手機(jī) APP 需要借助于 Weex* Vu...
    再見天才閱讀 3,565評(píng)論 0 6
  • 1.安裝 可以簡(jiǎn)單地在頁(yè)面引入Vue.js作為獨(dú)立版本感论,Vue即被注冊(cè)為全局變量,可以在頁(yè)面使用了紊册。 如果希望搭建...
    Awey閱讀 11,034評(píng)論 4 129
  • vue概述 在官方文檔中比肄,有一句話對(duì)Vue的定位說的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語(yǔ)法來聲明...
    li4065閱讀 7,232評(píng)論 0 25