web學習筆記(七十八)

目錄

1.自定義子組件的配置

2. 自定義子組件生命周期函數

3.父子組件傳值?

3.1 父傳子

3.2 子傳父


1.自定義子組件的配置

  1. 在components文件中可以創建子組件,首先需要創建一個文件夾,然后右擊文件夾選擇新建Component 選擇這個配置系統不會自動配置路由,選擇新建Page是會生成路由的。
  2. 在子組件的js文件中有一個Component 組件實例,用于創建組件實例對象,需要注意和Page實例對象進行區分。
  3. ?properties是組件的屬性列表:類似于vue的props,用于接收父組件的props傳值

    ??properties:?{//?可以簡寫,也可以通過對象格式來進行編寫。age:?Number,min:?{//?約定值的類型,可以?約定一個,也可以約定一組類型type:?String,//?定義初始值value:?"0",},max:?{type:?[String,?Number],value:?"2",},},

  4. ???data組件的初始:組件自身的響應式數據,和Page中data用法是一樣的。

    ??data:?{},
  5. methods是組件的方法列表

    ??methods:?{},

    在使用子組件時我們需要在對應的.json文件先進行導入子組件的操作,然后再頁面上輸入子組件的標簽進行使用。

    {"usingComponents": {"custom-grid": "../../components/grid/grid"},"navigationBarTitleText": "這里是分類頁面","onReachBottomDistance": 50
    }
    
    <custom-grid></custom-grid>

2. 自定義子組件生命周期函數

(1)created

created類似于vue中的beforeCreate,相同點都是組件實例this剛剛被創建,此時組件的響應式數據及方法都還沒有掛載到this上。在組件實例剛剛被創建時執行,注意此時不能調用setData

?created()?{},

? (2)arrached

在組件實例剛剛進入頁面節點樹時執行,類似于vue的created,此時組件的響應式數據及方法都已經掛載到this上,可以發送初始化請求了。

arrached()?{},

? (3)ready

在組件布局完成后執行,類似于vue的mounted,此時組件初始掛載完畢,組件創建階段的生命周期結束了。

ready()?{},

? (4)detached

組件卸載時的生命周期

detached()?{},

? 以上四種是老版本的子組件聲明周期,在新版本中也可以使用,但是更推薦使用lifetimes來編寫子組件的生命周期。注意:lifetimes僅支持2.2.3版本基礎庫以上的新寫法(我們可以在詳情中的本地設置看到調試基礎庫的版本)。

lifetimes:?{//?2.2.3版本基礎庫以上的新寫法(我們可以在詳情中的本地設置看到調試基礎庫的版本)attached:?function?()?{//?在組件實例進入頁面節點樹時執行},datached:?function?()?{//?在組件實例被從頁面節點數移除時執行},},

? 我們也可以通過子組件來控制父組件的生命周期,比如當父組件顯示時子組件執行什么操作,或者當父組件隱藏時子組件執行什么操作

//?父組件的生命周期pageLifetimes:?{show()?{},hide()?{},},

3.父子組件傳值?

3.1 父傳子

在父組件中直接在子組件對應標簽內部進行傳值,需要注意的是如果傳遞參數是一個變量則需要在變量外加雙大括號,如果是傳遞一個數字類型或者是布爾類型,則不需要可以加雙大括號,小程序會自動識別你在子組件中需要的數據類型,然后自動進行類型轉換(將純數字的字符串轉換為數字,將’true‘或’false‘自動識別為布爾值)。

<custom-grid age='100' min='text' max='abc'   bind:setCount="getCount"></custom-grid>

在子組件我們需要在通過properties來接受父組件傳遞過來的值。

??properties:?{//?可以簡寫,也可以通過對象格式來進行編寫。age:?Number,min:?{//?約定值的類型,可以?約定一個,也可以約定一組類型type:?String,//?定義初始值value:?"0",},max:?{type:?[String,?Number],value:?"2",},},

3.2 子傳父

小程序實現子組件向父組件傳值的原理是和vue是一樣的,都需要通過自定義事件來完成,在小程序中自定義事件是通過bind:事件名="觸發方法名"來實現的。

實現子組件向父組件傳值首先我們需要在父組件設置自定義事件,然后在子組件中綁定一個點擊事件,通過觸發子組件的綁定事件然后通過?this.triggerEvent來調用父組件的自定義事件。

父組件:

<custom-grid age='100' min='text' max='abc'   bind:setCount="getCount"></custom-grid>

我們從子組件傳過來的是一個對象,通過e.datail才能取到里面的數據。?

  getCount(e) {console.log("---", e);this.setData({count: e.detail,});},

子組件:?

<button bind:tap="go">發射事件</button>

?

  methods: {go() {this.triggerEvent("setCount", 1000);},},

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41665.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41665.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41665.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ssm“落雪”動漫網站-計算機畢業設計源碼81664

目 錄 摘要 1 緒論 1.1 研究背景 1.2 研究意義 1.3論文結構與章節安排 2系統分析 2.1 可行性分析 2.2 系統流程分析 2.2.1 數據新增流程 3.2.2 數據刪除流程 2.3 系統功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系統用例分析 2.5本章小結 3 系統總體設…

Golang | Leetcode Golang題解之第217題存在重復元素

題目&#xff1a; 題解&#xff1a; func containsDuplicate(nums []int) bool {set : map[int]struct{}{}for _, v : range nums {if _, has : set[v]; has {return true}set[v] struct{}{}}return false }

溫州網站建設方案及報價

隨著互聯網的發展&#xff0c;網站建設已經成為企業推廣和營銷的重要手段。溫州作為中國經濟發達地區之一&#xff0c;各行各業企業紛紛意識到網站建設的重要性&#xff0c;紛紛加大網站建設工作的投入。那么&#xff0c;溫州網站建設方案及報價是怎樣的呢&#xff1f;下面我們…

Python | Leetcode Python題解之第218題天際線問題

題目&#xff1a; 題解&#xff1a; class Solution:def getSkyline(self, buildings: List[List[int]]) -> List[List[int]]:buildings.sort(keylambda bu:(bu[0],-bu[2],bu[1]))buildings.append([inf,inf,inf])heap [[-inf,-inf,-inf]]ans []for l,r,h in buildings:i…

開發必備基礎知識【字符編碼合集】

開發必備基礎知識【字符編碼合集】 大家在日常開發交流中會發現&#xff0c;別人那里運行的好好的文件&#xff0c;在你電腦上卻無法編譯&#xff0c;甚至出現一堆莫名其妙的字符&#xff0c;比如&#xff1a;&#xfffd;&#xfffd;&#xfffd; 程序中經常遇到一些關于亂碼…

探索人工智能在電子商務平臺與游戲發行商競爭中幾種應用方式

過去 12 年來&#xff0c;電腦和視頻游戲的發行策略發生了巨大變化。數字游戲的銷量首次超過實體游戲的銷量 在20132020 年的封鎖進一步加速了這一趨勢。例如&#xff0c;在意大利&#xff0c;封鎖的第一周導致數字游戲下載量 暴漲174.9%. 展望未來&#xff0c;市場有望繼續增…

著急,為啥AI叫好不叫座啊?

關注盧松松&#xff0c;會經常給你分享一些我的經驗和觀點。 李彥宏在2024世界人工智能大會上說&#xff1a; 沒有應用&#xff0c;光有基礎模型&#xff0c;不管是開源還是閉源都一文不值&#xff0c;所以我從去年下半年開始講&#xff0c;大家不要卷模型了&#xff0c;要去…

【AI應用探討】—多層感知機應用場景

目錄 一、計算機視覺 二、自然語言處理 三、推薦系統 四、金融風控 五、醫療健康 六、工業制造 七、其他領域 一、計算機視覺 在計算機視覺領域&#xff0c;多層感知機&#xff08;MLP&#xff09;因其強大的非線性建模能力而被廣泛應用于各種圖像處理任務中。具體應用…

SessionStorage和loacalStorage區別

一、SessionStorage 1.生命周期 SessionStorage中存儲的數據在當前會話期間有效&#xff0c;即當頁面關閉時數據將被清除。 2.作用域 SessionStorage中的數據僅在當前標簽頁或窗口中有效&#xff0c;不同標簽頁或窗口之間無法共享數據。 3.存儲容量 SessionStorage的存儲…

java面試-java基礎(上)

文章目錄 一、什么是Java&#xff1f;特點&#xff1f;二、什么是JVM、JDK、JRE&#xff1f;三、java跨平臺實現原理四、java數據類型有哪些?五、char能不能存一個中文漢字?六、存在數字i加1小于i或者i減1小于i?七、什么是自動類型轉換與強制類型轉換?八、什么是裝/拆箱&am…

數學不好能搞人工智能嗎?

很遺憾&#xff0c;不能。 人工智能&#xff08;AI&#xff09;實際上是一個將數學、算法理論和工程實踐緊密結合的領域。AI 扒開來看就是算法&#xff0c;也就是數學、概率論、統計學、各種數學理論的體現。 新的時代&#xff0c;程序員想要跨入 AI 之門&#xff0c;只要稍微…

13 - Python網絡編程入門

網絡編程入門 計算機網絡基礎 計算機網絡是獨立自主的計算機互聯而成的系統的總稱&#xff0c;組建計算機網絡最主要的目的是實現多臺計算機之間的通信和資源共享。今天計算機網絡中的設備和計算機網絡的用戶已經多得不可計數&#xff0c;而計算機網絡也可以稱得上是一個“復…

Springweb詳解

Springweb詳解 一.springweb介紹 1.1 SpringWEB 特點 ? SpringWEB 是 spring 家族原生產品&#xff0c;與 IOC 容器等基礎設施無縫對接. ? 基于原生的 Servlet&#xff0c;提供了一個前端控制器 DispatcherServlet &#xff0c;開發者 無須額外開發控制器對象. ? 可以自…

【SQL】聚簇索引與?聚簇索引的區別

聚簇索引&#xff08;Clustered Index&#xff09;和非聚簇索引&#xff08;Non-Clustered Index&#xff09;是數據庫索引的兩種主要類型&#xff0c;它們在數據存儲和訪問方式上有顯著區別。 聚簇索引 數據存儲順序&#xff1a;聚簇索引將數據行按照索引鍵的順序進行存儲。…

VSCode打開其它IDE項目注釋顯示亂碼的解決方法

問題描述&#xff1a;VSCode打開Visual Studio&#xff08;或其它IDE&#xff09;工程&#xff0c;注釋亂碼&#xff0c;如下圖所示&#xff1a; 解決方法&#xff1a;點擊VSCode右下角的UTF-8&#xff0c;根據提示點擊“通過編碼重新打開”&#xff0c;再選擇GB2312&#xff0…

R語言數據分析案例42-基于時間序列模型對股票預測分析和研究

一、研究背景和意義 隨著全球經濟的不斷發展和數字化轉型的加速推進&#xff0c;科技公司在全球市場中扮演著日益重要的角色。其中&#xff0c;中國的阿里巴巴集團作為全球最大的電子商務公司之一&#xff0c;其業務范圍覆蓋電子商務、云計算、金融科技等多個領域。由于其在中…

AI革命:RAG技術引領未來智能

AI革命:RAG技術引領未來智能 在人工智能的浪潮中,一種名為RAG(Retrieval-Augmented Generation)的技術正在悄然改變我們的世界。這種技術通過整合外部知識庫,極大地增強了大型語言模型(LLM)的性能,為智能助手、聊天機器人等應用帶來了革命性的提升。 1 突破性的RAG技…

【問題記錄】Jenkins Pipeline讀取變量的各種方法

方法一 輸出docker image鏡像標簽給IMAGE_TAG def IMAGE_TAG sh(script: docker images | grep ${SERVER_NAME} | grep $NAME_SPACE | awk {print $2}|grep ${BUILD_NUMBER}, returnStdout: true) 另外&#xff0c;如果想輸出docker image命令執行結果給IMAGE_TAG def IMAG…

【python】PyQt5可視化開發,如何設計鼠標顯示的形狀?

?? 歡迎大家來到景天科技苑?? &#x1f388;&#x1f388; 養成好習慣&#xff0c;先贊后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者簡介&#xff1a;景天科技苑 &#x1f3c6;《頭銜》&#xff1a;大廠架構師&#xff0c;華為云開發者社區專家博主&#xff0c;…

通信施工安全員B類測試題含答案

1.全國人民代表大會常務委員會關于修改<中華人民共和國安全生產法>的決定》由中華人民共和國第十二屆全國人民代表大會常務委員會第十次會議通過&#xff0c;自( )起施行。 A、2002年11月1日 B、2014年8月31日C、2014年12月1日(正確答案) D、2015年1月01日 2.生產經營單…