: プロパティ '0' はレンダリング中にアクセスされましたが、インスタンス上で定義されていません
P粉311423594
2023-09-02 09:04:09
<p>私は Vue3 の初心者で、Vue を使用して、<code>const ProgressStage = ref(0)</code> Global という「App.vue」ファイルで小さなスターター ポータルを構築しています。状態を示し、その状態に基づいて特定のコンポーネントをレンダリングします。 </p>
<p>progressStage のステータスを変更するには、渡されたハンドラーを発行する必要もありました</p>
<p>ここでコードを表示します: </p>
<pre class="brush:php;toolbar:false;"><スクリプトのセットアップ>
'vue' から {ref} をインポートします。
'components/componentA.vue' から ComponentA をインポートします (moc コンポーネント)
コンポーネント B を「components/componentB.vue」からインポートします
const progressStage = ref(0)
const データ = ref({})
関数 handleNavigation(newVal){
progressStage = 新しい値
}
関数 handleClientDataAdd(newData){
const newData = {...data.value,newData}
データ.値 = 新しいデータ;
}
</スクリプト>
<テンプレート>
<コンポーネントA
v-show:progressStage === 0
/>
<コンポーネントB
@handle-page-nav="handleNavigation"
@handle-client-data="handleClientDataAdd"
v-show:progressStage === 1
/>
</template></pre>
<p>コンポーネントBの内部 ->
また、間違ったものが呼び出されています:
<strong>内 <ComponentB onClientDataAdd=fn onHandlePageNav=fn
アプリケーション内。 </strong></p>
<pre class="brush:php;toolbar:false;"><スクリプトのセットアップ>
'vue' から {ref} をインポートします
const Emits =defineEmits(['handlePageNav','clientDataAdd']
const データ = ref({
名前:''
}) (モックオブジェクト)
</スクリプト
<テンプレート>
<input v-model="data.name" /></pre>
<p>他にも状態を使用して動的にインストールするコンポーネントが複数ありますが、ComponentB は (入力のキーストロークごとに) 上記の警告をスローし続けるようです</p>
<p>ご協力をお待ちしております</strong></p>
最初のエラーは
v-show:progressStage === 0
です。これをv-show="progressStage === 0"
に変更します。 ドキュメント: v-if-on テンプレート。 p>そして
はclientDataAdd
が発行されましたが、イベント:handle-client-data
を呼び出しました。これを次のように変更します:@client-data-add="handleClientDataAdd"