uniapp 封裝組件的方法實例分析
更新時間:2023年06月20日 09:09:27 作者:九亓
這篇文章主要介紹了uniapp 封裝組件的方法,結合實例形式分析了uniapp父級頁與子頁面組件封裝與傳參交互相關實現技巧,需要的朋友可以參考下
最近研究了一下uniapp 的組件封裝 以及 引入組件的頁面(父級) 和 組件封裝的頁面(子級)的傳參以及 事件交互 ,其實還是很簡單的。
父級頁(主要的動作有組件的引入和事件的觸發(fā))
<!--viwe部分--> <template> <view> <!--調用組件 組件的屬性 數據屬性前面加 : 符號 事件加 @ 符號 因為父級頁面無法直接改變子頁面參數 可通過ref屬性可調用子頁的方法改變參數值 --> <Assembly :TitleData="name" @trigger="GetData" ref="mySon"> <!-- 如果父級頁面需要在組件中間加入代碼 需要子頁 插入的地方加上<slot></slot> --> </Assembly> <!--調用組件--> </view> </template> <!--js部分 在這里聲明注冊組件--> <script> //只要組件安裝在項目的components目錄下或uni_modules目錄下,并符合components/組件名稱/組件名稱.vue目錄結構。就可以不用引用、注冊,直接在頁面中使用。 import Assembly from '@/components/assembly' export default { components: { Assembly }, data() { return { name:"" //這里的數據類型根據子級頁定義 } }, methods: { GetData(){ console.log(觸發(fā)事件了) //這里觸發(fā)父級事件 通過綁定名稱mySon 直接執(zhí)行子頁方法foumr() t.$refs.mySon.foumr(); } } } </script>
到這里 組件的調用 引入 注冊 以及 數據和事件 基本 搞定了 然后來看下面
子頁面(組件的存放和組件事件處理)
<template> <view> <view @click="SetName">姓名:{{TitleData}}</view> <view>性別:{{gender}}</view> <!--使用slot組件聲明插入代碼的位置--> <slot></slot> </view> </template> <script> export default { //需要給父頁傳值的參數都放在props里面 每個參數作為一個對象 都需要聲明 傳值的類型 type 以及內容 default 沒有默認值時為空 type不可為空 ,如參數的值無需 交互 可直接寫在 data=>return 里面 props: { //這里定義的參數名稱 在父頁作為組件的屬性用來綁定參數 TitleData:{ type:Array, default:"" } }, data() { return { gender:"男女" }; }, methods: { SetName(){ // 在這里定義父頁觸發(fā)組件事假的屬性名 trigger 后面可以傳值 index this.$emit('trigger',index) }, }, }; </script>
相關文章
JavaScript實現QueryString獲取GET參數的方法
本文為大家詳細介紹下如何通過JavaScript實現QueryString獲取GET參數,具體實現如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07JavaScript使用slice函數獲取數組部分元素的方法
這篇文章主要介紹了JavaScript使用slice函數獲取數組部分元素的方法,涉及javascript中slice方法的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04在layui中使用form表單監(jiān)聽ajax異步驗證注冊的實例
今天小編就為大家分享一篇在layui中使用form表單監(jiān)聽ajax異步驗證注冊的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09myFocus slide3D v1.1.0 使用方法與下載
myFocus slide3D v1.1.0 使用方法與下載,需要的朋友可以參考下。2011-01-01