Vue 3 コンポジション API: 値が False の場合でも、Props と v-if をレンダリングします。
P粉786432579
P粉786432579 2023-11-05 14:48:16
0
2
803

ここで、よくわからない問題に遭遇しました。 true または false に設定できる「active」という名前の prop が渡される子コンポーネントを含めます。 「true」が渡された場合はコンポーネントの一部が表示され、「false」が渡された場合は表示されないという考えです。

私の理解では、次のようにプロップ名を使用できるはずです:

リーリー

問題は、上記のステートメントの v-if を true または false に直接設定すると、期待どおりに動作することです。これを小道具として渡すと、true か false に関係なく、常に表示されます。

有効 (何も表示されない):

リーリー

無効 (active の値に関係なく、div 内のコンテンツが表示されます):

リーリー ###どうしてこれなの? 「active」の値を表示して確認し、値 false が渡されましたが、値が false であるにもかかわらずレンダリングされます。ここで何かが足りないのでしょうか?引用符を使用して、引用符なしで、 ref を使用してローカル値を渡し、それを使用してみました:

リーリー

これもうまくいきませんでした。

P粉786432579
P粉786432579

全員に返信(2)
P粉976488015

エクスポートのデフォルトでは、

リーリー

コンポーネント テンプレートで、

リーリー

コンポーネントを使用する場合は、アクティブな要素を false にバインドします

リーリー
いいねを押す +0
P粉327903045

これは、prop が親コンポーネントから渡された文字列であるためです (他の HTML 属性のデフォルトの動作と同じです)。 prop をブール値として渡すには、v-bind 構文または : 短縮表現を使用して、false が ## として解析されるようにする必要があります。 # JavaScript 式 文字列の代わり: リーリー ###または### リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート