導航:首頁 > 編程語言 > vuejs子組件傳參

vuejs子組件傳參

發布時間:2023-01-16 18:20:18

㈠ Vue-Cli—04.父子組件傳值|祖孫組件傳值|兄弟組件傳值

父組件向子組件傳值,可以通過綁定屬性傳值;子組件通過props接收父組件傳值。
父組件:

子組件:

子組件通過$emit觸發一個自定義事件,將更新的數據傳給父組件。
子組件:

父組件:

首先祖先給子孫後代傳值也是可以用props傳遞,一層層傳遞,如果嵌套了五六層,這種方法就顯得很繁瑣。
所以就用到了provide(提供)和inject(注入)。這兩個是配套使用的,以允許祖先向所有祖先後代注入一個依賴。祖先組件通過provide添加依賴數據,它裡面定義的數據,後代組件可以通過inject選擇性注入並直接使用。
注意: 後代組件通過inject注入祖級組件中的依賴數據,跟props一樣,接收的數據是只讀的,不能修改。

祖先組件:

後代組件:

在Vue的原型對象上,添加一個 $bus屬性 ,該屬性的的屬性值是一個Vue實例。Vue的所有實例,都將共用同一個$bus。這個$bus屬性,稱之為:中央事件匯流排。
vm.$emit( eventName, […args] ): 觸發當前實例上的事件。附加參數都會傳給監聽器回調。
vm.$on( event, callback ): 監聽當前實例上的自定義事件。事件可以由 vm.$emit 觸發。回調函數會接收所有傳入事件觸發函數的額外參數。
vm.$once( event, callback ): 監聽一個自定義事件,但是只觸發一次。一旦觸發之後,監聽器就會被移除。
vm.$off( [event, callback] ): 移除自定義事件監聽器。

main.js文件

兄弟A鴿子組件:
點擊鴿子組件中的『修改烏鴉數據』按鈕,可以修改烏鴉組件頁面的數據。

兄弟B烏鴉組件:

㈡ vue易犯錯誤之父子組件傳值注意-加冒號和不加冒號區別

父組件向子組件傳值,如果不加:冒號,傳過去的不是數值,而是一個字元串

父組件向子組件傳值,加上:冒號,傳過去的就是一個數值,不是字元串,因為加了:冒號以後引號""裡面的內容就是一個js表達式

只有傳遞字元串常量時,不採用v-bind形式,其餘情況均採用v-bind形式傳遞。

如果不加冒號,子組件在接收到值之後,監聽做不到改變監聽值內的屬性

㈢ vue2.0 父組件給子組件傳遞數據的方法

在父組件
App.vue
中引用子組件
A.vue,把
name
的值傳給
A
組件。
1、安裝
在桌面新建一個文件夾
$
cd
到文件中
$
npm
install
-g
vue-cli
$
vue
init
webpack
.
$
npm
install
$
npm
run
dev
vue
init
webpack
.
之後的選擇解釋
2、刪除
1、刪除App中的一些內容如下
2、刪除components文件中的HelloWorld.vue
3、修改
修改App.vue
如下:
<template>
<div
id="app">
//
message
定義在子組件的
props

<A
v-bind:message="name"/>
</div>
</template>
<script>
import
A
from
'./components/A'
export
default
{
name:
'App',
components:
{
A
},
data(){
return{
name:"我就是數據啊"
}
}
}
</script>
4、新建
在components新建A.vue並寫入內容如下:
<template>
<div>{{message}}</div>
</template>
<script>
export
default
{
props:
['message']
//接受message傳過來的數據
}
</script>
5、最後
在命令行輸入
$
npm
run
dev
總結
以上所述是小編給大家介紹的vue2.0
父組件給子組件傳遞數據的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:vue父組件向子組件(props)傳遞數據的方法vue組件Prop傳遞數據的實現示例vue中各組件之間傳遞數據的方法示例vue.js組件之間傳遞數據的方法vue子組件使用自定義事件向父組件傳遞數據Vue2.x中的父組件傳遞數據至子組件的方法vuejs動態組件給子組件傳遞數據的方法詳解

㈣ vue父子傳參

1、父子傳參

 父組件向子組件傳值

父向子

父組件上邊,在要接受數據的組件上通過動態屬性傳遞



:data="data"

子組件通過props屬性接受

1.數組

    props:['title','count','imgs','styles'],

2.對象

    屬性名類型 Object | Array | String | Numeber | Boolean | Function

    props:{

        title:Array,

    }

    props:{

        屬性名:{

            type:類型,

            required:必填項,默認值為false,

            defalult:默認值,(如果是簡單值的話,直接設置,如果是數組或者對象的話,需要一個函數),

            validator(val){

            自定義格式的驗證,函數return 成立

            }

        }

    }

    vue 是單向數據流,不能在子組件裡面直接修改父組件傳遞過來的值

   子向父

        子組件里邊使用$emit

    $emit('事件名稱','實參1','實參2')

    <button @click="$emit('addCount',count)"></button>

    @事件名稱 = "事件處理程序"

    父組件接受的方法

        @addCount = "方法名"

        在methods方法裡面寫函數

        addCount(){

            console.log(1);

        }

      非父子

            3通過創建一個空對象

            在 main.js 裡面Vue.prototype.$bus=new Vue();

            所有的組件都是通過vueComponent 實例出來的 vueComponent繼承vue

            子組件

              傳參的方式:  this.$bus.$emit('add',item)

                在created方法裡面接受

                this.$bus.$on('add',(obj)=>{

                    console.log(obj)//傳過來的參數值

                })

㈤ Vue 組件之間傳參!

父組件向子組件傳參,通過自定義屬性的方式進行傳參,在子組件中使用prop定義自定義的屬性,然後在父組件中通過v-bind指令把需要傳遞的數據綁定在子組件上,那在子組件中props裡面的自定義屬性可以直接使用.

子組件向父組件傳數據使用自定義事件, vue組件提供了一個 emit('自定義事件名', 傳遞的數據) ),子組件傳遞數據時,觸發響應的事件函數,就會自動觸發通過$emit給父組件綁定的自定義事件,自定義事件接受一個參數,參數就是子組件傳遞過來的數據

兄弟組件之間的數據傳遞,通過eventBus來做中間的橋梁,傳輸方通過中間組件調用 on 接受數據,兩者之間的自定義屬性名保持一致。

通過vuex存儲數據, Vuex是一個專為vue.js 應用程序開發的狀態管理模式, 它採用[ 集中式 ]存儲管理數據,以相應的規則保證狀態以一種可預測的方式發生改變, 一變全變,同步更新數據。

ref 引用可以作用在h5標簽上,也可以作用在組標簽上,作用在h5標簽上是獲取的是DOM對象, 作用在組件標簽上,通過this.$refs獲取的是組件的實例對象。

㈥ vue.js 怎麼給組件傳參數

你是說父組件和子組件傳還是子組件給父組件傳?
子組件給父組件傳的話

this.$emit(func,value) 這樣傳遞

父組件給子組件傳的話給子組件裡面放一個props屬性

㈦ 如何在vue.js組件之間進行數據傳遞

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

父子組件

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

子組件想要使用父組件的數據,我們需要通過子組件的 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

prop 是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是不會反過來。修改子組件的 prop 值,是不會傳回給父組件去更新視圖的。那麼子組件要如何去與父組件通訊呢?

那就是自定義事件。通過在父組件 $on(eventName) 監聽自定義事件,當子組件里 $emit(eventName) 觸發該自定義事件的時候,父組件執行相應的操作。

比如在父組件中控制一個彈框子組件的顯示,在子組件中按下關閉之後,告訴父組件去隱藏它,然後父組件就執行操作隱藏彈框。例如在子組件中:

這個emit就是觸發事件的地方。

如果是復雜場景,或者不相關的組件之間,建議用vuex,這個相當於Angular中的注冊事件,具體過程可以參考官方手冊,寫的例子和圖例都很詳細了

㈧ vue.js父組件怎麼傳值給子組件

子組件通過$emit方法向抄父組件發送數據,子組件在父組件的模板中,通過自定義事件接收到數據,並通過自定義函數操作數據

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="vue.js"></script>
</head>
<body>
<!-- 子組件向父組件傳遞數據 -->
<div id="box">
<v-parent></v-parent>
</div>

㈨ vue.js 兩個父組件中的子組件怎麼傳值

A子傳A父($emit和$on),A父給B子(prop)。。

閱讀全文

與vuejs子組件傳參相關的資料

熱點內容
蘋果的風扇app怎麼下載 瀏覽:161
仙劍歷代發行版本 瀏覽:266
cmp文件夾 瀏覽:473
公眾號小程序源代碼 瀏覽:178
眾心彩票是個什麼APP 瀏覽:815
電腦如何連接藍牙網路 瀏覽:793
篩選後如何計算復雜數據 瀏覽:287
如何把不同品牌的手機數據導出 瀏覽:393
日歷資料庫表的設計 瀏覽:761
代碼如何快速做金字塔數據 瀏覽:775
文件異地同步軟體 瀏覽:383
微信網頁版自動登錄 瀏覽:370
excel如何分開男女數據 瀏覽:883
帝豪gl怎麼打開u盤文件夾在哪裡 瀏覽:477
蘋果皮能用流量嗎 瀏覽:548
電腦寬頻連接共享wifi密碼 瀏覽:655
最新微粒貸app官方下載 瀏覽:923
win10電腦怎麼休眠不斷網 瀏覽:530
如何查到網站的伺服器 瀏覽:225
編程怎麼確定一個數的位數 瀏覽:362

友情鏈接