1. 程式人生 > >vue框架-學習記錄

vue框架-學習記錄

發生 問題: post family 講解 link 比較 span src

前段時間在做vue項目時,遇到挺多問題,想簡單總結一下:

1、關於父組件,子組件的通信

網上有很多這方面的講解,講解也比較細致,我主要總結了自己在項目中需要的:
1】父組件—子組件

也就是“屬性向下走”,即在父組件中通過標簽屬性傳值,子組件利用‘props’接收後,在子組件中便可使用;

2】子組件—父組件

子組件中可以用“事件向上走”的方式傳遞參數到父組件,

即:this.$emit(‘ myevent’,參數 )

父組件再以一個方法接收子組件傳遞的參數

GetDatadata{

this.data = data

}

【小結】:最主要的是記住:屬性往下走,事件向上走

2、Vue的路由問題

看了網上的很多帖子,簡單點說:

1】路由跳轉可以通過<router-link :to=’’></router-link>,也可以通過“this.$router.push(‘’),

當然,都是可以加參數的,加參數也很簡單,

第一步:在main.js中的對應路由處加上相應地參數名;

第二步:在頁面文件中的路徑後面直接跟上參數就可以了;

第三步:調用,直接this.$route.params.參數名”【這裏這樣用是因為項目中自己用的是router.push()的方式跳轉】

技術分享圖片

【以上是最簡單的路由跳轉方式】

【問題:“路由監聽”】還遇到一個高級一點的,就是在子組件中通過不同的參數變換不斷請求刷新父組件,這個查閱了相關的網頁,也看了一些例子,一般情況下,都是可以用監聽路由解決的,也就是:

第一步:子組件中正常跳轉的this.$router.push(‘’)寫好;

第二步:在父組件中監聽路由的變化:

Watch:{

‘$router’(to, from) {

// 對路由變化作出響應...

//這裏可以重新請求數據

}

}

//當參數發生改變,通過watch監聽到地址欄的變化,然後再重新請求一遍數據。

除了watch監聽路由變化以外,路由中的組件鉤子函數beforeRouteUpdate也可以,

beforeRouteUpdate (to, from, next){

console.log(‘component beforeRouteUpdate‘);

next();

}

關於路由這方面的鉤子函數,網上有很多介紹,想要深入理解,可以去看看

https://segmentfault.com/a/1190000008879966

前端新手,歡迎指教!

vue框架-學習記錄