2017-02-07 9 views
8

コード:クロームの開発者ツールでデータプロパティ "article"は既に小道具として宣言されています。小道具デフォルト値を使用して代わりに

export default { 
    props: { 
     article: {type: Object} 
    }, 
    data() { 
     return {article: this.article} 
    }, 
    methods: { 
     itemClick() { 
      console.log('itemClick'); 
     } 
    } 
}; 

Vue2.1.10警告:あなたは両方の場所datapropsarticleを追加したThe data property "article" is already declared as a prop. Use prop default value instead.

+0

エクスポートデフォルト{ 小道具:{ 記事:{ タイプ:オブジェクト }}、 データ(){ リターン{記事:this.article }}、 方法:{ によってitemClick() { console.log( 'itemClick'); } } }; – BadWaka

答えて

12

。それはこれらのうちの1つでなければなりません、なぜあなたはエラーを受けているのですか?親コンポーネントから渡す場合は、場所の1つを削除する必要があります。ローカルインスタンスデータの場合は、小道具として保持するよりも、ブロックdataブロックに保持してください。

export default { 
    props: { 
    article: { 
     type: Object 
    } 
    }, 
    data() { 
    return { 
     article: this.article 
    } 
    }, 
    methods: { 
    itemClick() { 
     console.log('itemClick'); 
    } 
    } 
}; 
1

あなたが小道具でそれを宣言すると、あなたが側のデータでそれを返す必要はありません。蛇のように。

export default { 
props: { 
    article: {type: Object} 
}, 
data() { 
}, 
methods: { 
    itemClick() { 
    console.log('itemClick'); 
    } 
} 

}

関連する問題