web學習筆記(六十一)

?

目錄

如何使用公共組件來編寫頁面?


如何使用公共組件來編寫頁面?

1.導入公共組件nav.vue

import Catenav from "@/components/nav.vue";

2.在頁面插入子組件

如果使用了setup語法糖此時就可以直接在頁面插入?<Catenav?></Catenav>標簽,

反之,則需要在頁面寫入?components()函數

<script>
import Catenav from "@/components/nav.vue";
import { ref } from "vue";
export default {components: {// "cates_nav":CateNav,Catenav //注冊的組件名稱和組件實例名稱保持一致時可以簡寫。},setup() {const count = ref(0);const setcount = () => {count.value++;};return {count,setcount};}
};
</script>

3.父組件向子組件進行數據傳遞

在<Catenav?></Catenav>標簽內寫入要從父頁面傳到子頁面的數據,此時默認傳遞的數據都是字符串類型的,如果需要傳遞其他類型的數據(數字、數組、對象等)可以用v-bind進行數據綁定后再傳遞數據。

  <Catenavtitle="一級分類"name="nav組件":age="20":sex="true":arr="[10, 20, 30]":mycount="count"></Catenav>

(1)數據傳遞-父傳子不使用setup語法糖

在子組件中將父組件傳過來的數據使用props進行接收?,此時可以直接在頁面使用{{}}來渲染數據,如果需要在js部分使用父組件傳過來的數據,則需要在setup后面的括號內寫入props再使用相關數據。

<script>
export default {setup(props) {console.log(props.name);},props: ["title", "name", "age", "sex", "arr", "mycount"] //子組件配置props屬性,這個屬性的只可以是數組,也可以是對象。它里面用來聲明父組件需要傳遞數據的屬性。//   子組件不允許修改父組件傳過來的數據
};
</script>

(2)數據傳遞-父傳子使用setup語法糖

? ? ? ?使用setup語法糖是需要使用defineProps()方法來接收父組件傳遞過來的數據。defineProps方法的參數是一個數組,我們將需要接收的數據以數組元素的形式編寫即可,此時就可以在頁面直接使用{{}}來渲染數據。如果需要在js部分使用父組件傳遞過來的數據,則需要用到defineProps方法的返回值,定義一個變量接一下defineProps的返回值,然后通過打點的方法來使用父組件傳過來的數據。

<style scoped lang="less"></style>
<!-- setup語法糖特有的語法:defineProps()。其他地方無法使用 -->
<script setup>
const props = defineProps(["title", "name", "age", "sex", "arr", "mycount"]);
const clickbtn = () => {console.log(props.title);
};
</script>

4.子組件向父組件進行數據傳遞

子傳父用到了自定義事件,自定義事件就是我們自己通過v-on聲明的事件,之前我們用到的click事件是系統定義的,系統事件由系統觸發,自定義事件,由咱們觸發。

    <p @setkw="getkw"></p><!-- 給p標簽自定義了一個事件,事件名稱是setkw -->

(1)數據傳遞-子傳父 不使用setup語法糖

給標簽設置一個自定義事件,然后將觸發事件后觸發的方法寫到父組件中。

<template><div><input type="text" v-model="search" /><!-- 父組件通過v-on自定義一個事件,這個事件名稱叫setkw。系統事件由系統觸發,自定義事件,由咱們觸發。這個自定義事件傳給了子組件,就由子組件觸發seykw事件 --><Search @setkw="getkw"></Search></div>
</template>
<script setup>
import { ref } from "vue";
import Search from "@/components/Seach.vue";
const search = ref("");
console.log(search);
const getkw = (kw) => {console.log("執行自定義事件", kw);
};
</script>

此時需要在子組件中接收我們自定義的事件,為后面在子組件觸發父組件中的自定義事件做準備。通過setup傳參的方式將時間名拿到,然后綁定按鈕的點擊事件,此時點擊事件會觸發我們自定義的事件,而我們自定義的事件又會自動執行對應的方法,然后將我們需要傳遞的數據寫在方法的參數部分即可完成數據傳遞。

setup的兩個參數
參數一props,可以拿到父傳子的數據,必寫參數,不使用也不可以省略
參數二上下文對象(context object),可以通過.emit來觸發事件
<template><div><!--封裝搜索組件 --><input type="text" v-model="kw" /><button @click="search">搜索</button></div>
</template>
<script>
import { ref } from "vue";
export default {setup(props, cot) {const kw = ref("");const search = () => {//此時觸發父組件綁定的自定義事件setkw,間接調用getkw函數cot.emit("setkw", kw.value);};return {kw,search};}
};
</script>

(2)?數據傳遞-子傳父 使用setup語法糖

和不使用語法糖大致是一樣的,只不過此時需要使用defineEmits()方法。

<script setup>
import { ref } from "vue";
const emit = defineEmits(['setkw']);
const kw = ref("");
const search = () => {//此時觸發父組件綁定的自定義事件setkw,間接調用getkw函數emit("setkw", kw.value);
};
</script>

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

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

相關文章

.NET 快速重構概要1

1.封裝集合 在某些場景中,向類的使用者隱藏類中的完整集合是一個很好的做法,比如對集合的 add/remove 操作中包 含其他的相關邏輯時。因此,以可迭代但不直接在集合上進行操作的方式來暴露集合,是個不錯的主意。 public class Order { private int _orderTotal; private Li…

Camunda BPM架構

Camunda BPM既可以單獨作為流程引擎服務存在,也能嵌入到其他java應用中。Camunda BPM的核心流程引擎是一個輕量級的模塊,可以被Spring管理或者加入到自定義的編程模型中,并且支持線程模型。 1,流程引擎架構 流程引擎由多個組件構成,如下所示: API服務 API服務,允許ja…

邏輯回歸分類算法

文章目錄 算法推導 線性回歸解決連續值的回歸預測&#xff1b;而邏輯回歸解決離散值的分類預測&#xff1b; 算法推導 邏輯回歸可以看作是兩部分&#xff0c;以0、1分類問題說明&#xff1b; 線性回歸部分 對于一個樣本 x i x_i xi?&#xff0c;有n個特征 x i ( 1 ) x_i^{(1)…

蒙自源兒童餐新品上市,引領健康美味新潮流

隨著夏日的熱烈與兒童節的歡樂氛圍到來&#xff0c;蒙自源品牌隆重推出兒童餐新品&#xff0c;以“快樂不分大小&#xff0c;誰還不是個寶寶”為主題&#xff0c;為廣大消費者帶來一場健康與美味的盛宴。新品上市活動將于5月25日舉行&#xff0c;蒙自源將以其獨特的產品魅力和創…

install

目錄 1、 install 1.1、 //creates form with validation 1.2、 onStepChanging: function (event, currentIndex, newIndex) { 1.3、 onFinishing: function (event, currentIndex) { 1.4、 //init inst

最新 HUAWEI DevEco Studio 調試技巧

最新 HUAWEI DevEco Studio 調試技巧 前言 在我們使用 HUAWEI DevEco Studio 編輯器開發鴻蒙應用時&#xff0c;免不了要對我們的應用程序進行代碼調試。我們根據實際情況&#xff0c;一般會用到以下三種方式進行代碼調試。 肉眼調試法注釋排錯調試法控制臺輸出法彈出提示法斷…

【算法實戰】每日一題:將某個序列中內的每個元素都設為相同的值的最短次數(差分數組解法,附概念理解以及實戰操作)

題目 將某個序列中內的每個元素都設為相同的值的最短次數 1.差分數組&#xff08;后面的減去前面的值存儲的位置可以理解為中間&#xff09; 差分數組用于處理序列中的區間更新和查詢問題。它存儲序列中相鄰元素之間的差值&#xff0c;而不是直接存儲每個元素的值 怎么對某…

STM32 入門教程(江科大教材)#筆記2

3-4按鍵控制LED /** LED.c**/ #include "stm32f10x.h" // Device headervoid LED_Init(void) {/*開啟時鐘*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //開啟GPIOA的時鐘/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_I…

關系數據庫:關系運算

文章目錄 關系運算并&#xff08;Union&#xff09;差&#xff08;Difference&#xff09;交&#xff08;Intersection&#xff09;笛卡爾積&#xff08;Extended Cartesian Product&#xff09;投影&#xff08;projection&#xff09;選擇&#xff08;Selection&#xff09;除…

微信小程序中應用van-calendar時加載時間過長,以及設置min-data無效的問題解決

一、我們微信小程序中應用van-calendar時&#xff0c;如果沒有設置min-data&#xff0c;那么頁面的加載時間會非常長&#xff0c;所以&#xff0c;一定一定要配置min-data&#xff1b; 二、vue中min-data的寫法是:min-data“new Date(2023, 0, 1)”&#xff0c;而在小程序中的寫…

docker使用docker logs命令查看容器日志的幾種方式

以下是如何使用docker logs命令的基本示例&#xff1a; docker logs [容器ID或名稱]如果想要實時查看日志&#xff0c;可以加上-f參數&#xff0c;這樣日志就會像使用tail -f命令一樣實時輸出。 docker logs -f [容器ID或名稱]如果只想查看最近幾行的日志&#xff0c;可以使用…

讓表單引擎插上AI的翅膀-記馳騁表單引擎加入AI升級

讓表單引擎插上AI的翅膀 隨著科技的飛速發展&#xff0c;人工智能&#xff08;AI&#xff09;已經逐漸滲透到我們工作和生活的每一個角落。在數字化辦公領域&#xff0c;表單引擎作為數據處理和流程自動化的重要工具&#xff0c;也迎來了與AI技術深度融合的新機遇。讓表單引擎…

Java對象的比較——equals方法,Comparable接口,Comparator接口

Java對象的比較——equals方法&#xff0c;Comparable接口&#xff0c;Comparator接口 1. equals方法2. Comparable接口3. Comparator接口 1. equals方法 在判斷兩個整數是否相同時&#xff0c;我們可以使用以下方式&#xff1a; System.out.println(1 2); System.out.printl…

安防綜合管理系統EasyCVR平臺GA/T1400視圖庫:基于XML的消息體格式

GA/T 1400標準的應用范圍廣泛&#xff0c;涵蓋了公安系統的視頻圖像信息應用系統&#xff0c;如警務綜合平臺、治安防控系統、交通管理系統等。在視頻監控系統中&#xff0c;GA/T 1400公安視圖庫的對接是實現視頻圖像信息傳輸、處理和管理的重要環節。 以視頻匯聚EasyCVR視頻監…

【SpringBoot】怎么在一個大的SpringBoot項目中創建多個小的SpringBoot項目,從而形成子父依賴

父子項目工程創建 步驟 先創建父項目 具體操作步驟請看本文章&#xff1a;使用maven工程創建spring boot項目 創建子項目 file- project structure module–new module 剩下步驟請看創建父工程時的操作使用maven工程創建spring boot項目 應用 確認即可 之后創建啟動類…

ARM32開發——LED驅動開發

&#x1f3ac; 秋野醬&#xff1a;《個人主頁》 &#x1f525; 個人專欄:《Java專欄》《Python專欄》 ??心若有所向往,何懼道阻且長 文章目錄 需求介紹現實問題需求分析測試案例構建BSP驅動構建業務實現 需求介紹 開發版中有4個燈&#xff0c;現在需要用4個燈顯示充電情況&a…

618大促有哪些好物是最值得入手的的?請收下這份618必買好物清單!

最近聊的最多的話題就是618&#xff0c;年中購物大狂歡馬上來了&#xff01;&#xff01;今天整理了一下之前購買的好物&#xff0c;發現相比之前的價格真的是太劃算了&#xff0c;趕緊分享出來給大家&#xff0c;趁著這個大促趕緊多存入手~ 推薦1、南卡Neo 2——不傷耳黑科技…

SPHINX的輸出文檔格式

SPHINX的輸出文檔格式 SPHINX的輸出文檔格式更多信息 SPHINX的輸出文檔格式 用rst編寫&#xff0c;然后用sphinx-build進行編譯&#xff0c;還是效果相當不錯地&#xff0c;只要掌握了格式&#xff0c;可以一次編譯&#xff0c;多種格式輸出&#xff0c;主要是用的可能是html和…

記一次netty客戶端的開發

背景 近日要開發一個tcp客戶端程序去對接上游廠商的數據源&#xff0c;決定使用netty去處理&#xff0c;由于很久沒有開發過netty了&#xff0c;順便學習記錄下 netty搭建 考慮到我們需要多個client去對接server服務&#xff0c;所以我們定義一個公共的AbstractNettyClient父…

機器學習:人工智能中實現自動化決策與精細優化的核心驅動力

機器學習在人工智能中確實扮演著實現自動化決策與精細優化的核心驅動力角色。以下是關于這一點的詳細分析: 一、機器學習在自動化決策中的應用 數據驅動:機器學習依賴于大量的數據來進行模型訓練和評估,從而確保決策的準確性。通過自動化數據分析和處理,機器學習能夠從海量…