1.首先是生命週期:其實只有四個單詞,記住就行了並不難記javascript
爲了說明組件建立,存在,銷燬的過程,提供了組件生命週期java
組件共分三大週期:建立期,存在期,銷燬期ios
建立期:json
beforeCreate 組件即將建立,此時什麼數據都沒法訪問axios
created 組件建立完成,此時咱們能夠訪問綁定的數據以及自定義事件app
beforeMount 組件即將構建,此時肯定了容器元素和模板渲染方法,可是沒有上樹post
mounted 組件構建完成,此時組件已經上樹,咱們能夠看到該組件。this
存在期(數據更新)url
beforeUpdate 組件即將更新,此時視圖尚未更新spa
updated 組件更新完成,此時視圖中的數據已經更新了
這裏是環狀的,一次更新結束並不表明徹底結束。
銷燬期
beforeDestory 組件即將銷燬,此時數據還沒有銷燬
destroyed 組件已經銷燬,此時沒法訪問綁定的數據,子組件,自定義事件了
在keep-alive中使用組件的時候,組件從頁面中移除並不會銷燬,而是進入激活或者未激活狀態
activated 組件已經被激活,此時組件顯示出來了
deactivated 組件已經被移除,此時組件已經被隱藏
以上方法都沒有參數,this都指向實例化對象
2.父子組件的通訊
2.1父組件向子組件通訊
自定義屬性
<home :color="color" :parent-msg="msg"></home>
// 定義兩個組件
var home = Vue.extend({
// 第二步 子組件接收數據
props: ['color', 'parentMsg'],
// 模板
template: '<h1>child: {{color}}--{{parentMsg}}--{{this.$parent.msg}}</h1>',
// 查看組件實例化對象
mounted() {
// 也能夠經過$parent訪問父組件,可是不建議
console.log(this, this.$parent.msg, this.$parent.color)
}
})
子組件向父組件通訊,能夠使用自定義事件來實現
封裝方法請求的方法
postApi:function(params,url) { let requestHeader = { 'uk': localStorage.getItem('accessToken'), 'Content-Type': 'application/json charset=UTF-8' }; let axiosOptions = { method:"post", url:url, data:params, headers:requestHeader }; return axios(axiosOptions).then(res => res.data); },