国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue.js組件之間傳遞數據的方法

2024-05-06 15:14:38
字體:
來源:轉載
供稿:網友

前言

組件是 vue.js 最強大的功能之一,而組件實例的作用域是相互獨立的,這就意味著不同組件之間的數據無法相互引用。如何傳遞數據也成了組件的重要知識點之一。

組件

組件與組件之間,還存在著不同的關系。父子關系與兄弟關系(不是父子的都暫稱為兄弟吧)。

父子組件

父子關系即是組件 A 在它的模板中使用了組件 B,那么組件 A 就是父組件,組件 B 就是子組件。

// 注冊一個子組件Vue.component('child', {  data: function(){    text: '我是father的子組件!'  }  template: '<span>{{ text }}</span>'})// 注冊一個父組件Vue.component('father', {  template: '<div><child></child></div>' // 在模板中使用了child組件})

直接使用 father 組件的時候:

<div id="app">  <father></father></div>

頁面中就會渲染出 :我是father的子組件!

father 組件在模板中使用了 child 組件,所以它就是父組件,child 組件被使用,所以 child 組件就是子組件。

兄弟組件

兩個組件互不引用,則為兄弟組件。

Vue.component('brother1', {  template: '<div>我是大哥</div>'})Vue.component('brother2', {  template: '<div>我是小弟</div>'})

使用組件的時候:

<div id="app">  <brother1></brother1>  <brother2></brother2></div>

頁面中就會渲染出 :

我是大哥

我是小弟

Prop

子組件想要使用父組件的數據,我們需要通過子組件的 props 選項來獲得父組件傳過來的數據。以下我使用在 .vue 文件中的格式來寫例子。

如何傳遞數據

在父組件 father.vue 中引用子組件 child.vue,把 name 的值傳給 child 組件。

<template>  <div class="app">    // message 定義在子組件的 props 中    <child :message="name"></child>  </div></template><script>  import child from './child.vue';  export default {    components: {      child    },    data() {      return {        name: 'linxin'      }    }  }</script>

在子組件 child.vue 中的 props 選項中聲明它期待獲得的數據

<template>  <span>Hello {{message}}</span></template><script>  export default {    // 在 props 中聲明獲取父組件的數據通過 message 傳過來    props: ['message']  }</script>

那么頁面中就會渲染出:Hello linxin

單向數據流

當父組件的 name 發生改變,子組件也會自動地更新視圖。但是在子組件中,我們不要去修改 prop。如果你必須要修改到這些數據,你可以使用以下方法:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 什邡市| 奇台县| 德清县| 米泉市| 铅山县| 广汉市| 临邑县| 黎平县| 新巴尔虎右旗| 青铜峡市| 双城市| 南澳县| 共和县| 竹北市| 麻江县| 冷水江市| 博白县| 萝北县| 三河市| 恩施市| 农安县| 二连浩特市| 岳阳县| 方正县| 红安县| 三都| 铅山县| 新郑市| 通渭县| 白山市| 乌鲁木齐县| 汉沽区| 格尔木市| 阿荣旗| 伊吾县| 商河县| 瑞丽市| 漠河县| 铁岭县| 余江县| 揭东县|