値activeIndexによるプロジェクト遭遇親コンポーネント
<タブ:タブ= "タブ":activeIndex = "activeIndex"> </タブ> <スクリプト> 輸出デフォルト{ 更新(){ currentRouteをしましょう = この$のroute.name;。 VaRの ARR = Array.from(この$ store.state.app.tabs。); もし(!arr.indexOf(currentRoute)= - 1 ){ この .activeIndex = この。$ store.state.app.activeIndex = arr.indexOf(currentRoute).toString(); } } } </ SCRIPT>
値のサブアセンブリを受け取ります
<テンプレート> <EL-タブの種類= "カード" Vモデル= "activeIndex"> <EL-タブペインV- 用 = "タブで(アイテム、インデックス)":ラベル= "項目":閉鎖可能= "インデックス== 0偽:?真」:名= "index.toString()"> </ EL-タブ・ペイン> </ EL-タブ> </テンプレート> <スクリプト> 輸出デフォルト{ データ(){ リターン{ タブ:[]、 } }、 小道具:[ 'activeIndex' ] } </ SCRIPT>
基準サイトhttps://juejin.im/entry/5843abb1a22b9d007a97854c
起因this.activeIndex値、このメソッドをトリガした親コンポーネントに加えて、更新方法を変更する親コンポーネント更新()メソッドに、サブアセンブリは、それがactiveIndexのサブコンポーネントを変更トリガします値が、搬送機構サンズアセンブリので、誤差値がので、直接小道具を変異避ける原因となる親コンポーネントの再描画するたび....上書きされる
サブアセンブリは、新しい変数値(currentIndex)を通過するために使用される場合、したがって再配信、この値が変更された場合、変更はactiveIndex行われないように
// V-結合モデルチェンジ <EL-タブの種類= "カード" = V-モデル"currentIndex"> </ EL-タブ> <スクリプト> エクスポートデフォルト{ データ(){ リターン{ タブ:[]、 currentIndex:この .activeIndex // activeIndex currentIndexが送信親成分値を受信するステップと、 } }、 小道具:[ 'activeIndex' ] } </ SCRIPT>
//v-model绑定更改
<el-tabs type="card" v-model="currentIndex" ></el-tabs>
<script>
export default{
data(){
return {
tabs:[],
currentIndex:this.activeIndex //currentIndex接收父组件传来的activeIndex值;
}
},
props:['activeIndex']
}
</script>