鍍金池/ 問答/HTML/ vue.js父子組件動(dòng)態(tài)傳值。

vue.js父子組件動(dòng)態(tài)傳值。

問題描述

我的樹形子組件接收父組件傳遞的數(shù)據(jù),點(diǎn)擊父組件按鈕修改傳遞到子組件的數(shù)據(jù),匯報(bào)這樣的錯(cuò)誤。圖片描述

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

我子組件用watch深度監(jiān)聽了傳過來的對(duì)象,但還是不行。

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

<base-tree :treeHeight="(height-40)" :load="true" :treeId="6655" v-on:treeChange="treeClick" :treeDataObj="treeObj"></base-tree>

    watch: {
        treeDataObj: {
            handler(newVal, oldVal) {
                this.sw = false;
                if (newVal) {
                    this.nodeArray=[];
                    this.index = newVal.index;
                    this.groupId = '';
                    this.isUser = newVal.isUser;
                    this.ztreeDataSourceSync = [];
                    if(newVal.searchText){
                        this.searchText = newVal.searchText;
                        this.treeSearch();
                    }else{
                        this.page = 1;
                        this.loadUserGroupTreeFromEs();
                    }
                }
            },
            deep: true //對(duì)象內(nèi)部屬性的監(jiān)聽,關(guān)鍵。
        },

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
離觴

報(bào)錯(cuò)信息不是很明顯么? 不可以在子組件中直接更改props的值 如果想使用這個(gè)值 請(qǐng)?jiān)赿ata中 或者computed中解耦,正常來說props傳對(duì)象你在子組件中更改是不會(huì)warn的 個(gè)人猜測(cè)因?yàn)閐eep之后 所以warn

2018年5月10日 16:42
編輯回答
解夏

父組件通過props傳到子組件的值,是不能夠直接在子組件中更改的。
根據(jù)這一點(diǎn)再檢查一下代碼

2017年7月17日 13:08