小程序組件化開發

在這裏插入圖片描述
在這裏插入圖片描述

創建-註冊-使用

在這裏插入圖片描述
一樣需要四個文件
哪個組件需要用,就得在自己的json文件註冊
在這裏插入圖片描述
在這裏插入圖片描述
註冊完以後既可以用
在這裏插入圖片描述
這是組件必須有的,證明是組件。

細節

命名要規範,可以嵌套調用組件在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
也可以全局配置,這樣每個頁面都可以引用組件在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

組件的樣式細節

在這裏插入圖片描述
在這裏插入圖片描述
標籤選擇器會影響外部。外部用標籤選擇器也會影響內部
在這裏插入圖片描述
所有用class最好。
在這裏插入圖片描述
在這裏插入圖片描述
頁面的js中的對象是pages(),APP.js中的對象是APP(),而組件中的對象則是conponent,
apply-shared是默認,外部影響內部,而內部不能影響外部在這裏插入圖片描述
在這裏插入圖片描述
沒有影響,在這裏插入圖片描述
外部影響了。在這裏插入圖片描述
當值爲shared時,就可以互相影響。

組件頁面通信

在這裏插入圖片描述
傳數據。
1 在組件的js裏面,value是默認值
在這裏插入圖片描述
在這裏插入圖片描述
2傳
在這裏插入圖片描述
3展示
在這裏插入圖片描述
結果
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
監聽值改變,第一次從默認值變成哈哈哈,第二次從哈哈哈變成嘿嘿嘿。

傳樣式

1定義 在這裏插入圖片描述
在這裏插入圖片描述
在組件內定義好,做好接受的準備
2 傳
在這裏插入圖片描述
在引用組件是順便傳過去,但傳過去這個可以看成是傳一個類過去,而這個類需要在自己的wxss裏面定義。!!!在這裏插入圖片描述
相當於他自己定義好這個類,再把這個類傳過去,而組件只需要做好接接受的準備即可。

組件向外傳遞事件

這個事件還是跟vue裏面的差不多,其他兩個頁面的事件都是直接放在外面,而組件的事件需要放在methods裏面,
1 首先。在組件裏面監聽
在這裏插入圖片描述
2 監聽到後在組件的js文件裏處理這個事件,
在這裏插入圖片描述
this.triggerEvent是發送事件,第一個是發送的事件名稱,第二個是參數。vue中子組件發送事件是。
this.$emit(‘事件名稱’,傳遞的值。)
3 發送出去後,在引入組件時順便用bind:監聽,vue裏是用@監聽,監聽到後在作出處理
在這裏插入圖片描述
4 作出處理,在自己的js文件中處理監聽到的子組件發出來的事件。
在這裏插入圖片描述
傳過來的值放在event的detail裏面
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

頁面直接調用組件的方法在這裏插入圖片描述

this.selectComponent()就可以訪問組件裏面的方式

在這裏插入圖片描述在這裏插入圖片描述

頁面的方法修改組建的數據

在這裏插入圖片描述
在頁面的點擊事件直接修改組建的數據,記得要用setData,不然不能達到響應式效果。
但這種方法不可取,最好不要在頁面直接修改數據。在組件創建一個方式修改數據,頁面直接調用就好
在這裏插入圖片描述
在這裏插入圖片描述 效果是一樣的。