目次
1. Prop を使用してデータを渡す
2. キャメルケースとケバブケース
3. 動的プロパティ
4. リテラル構文と動的構文
5 として評価されるようにする必要があります。 Flow
1.prop が初期値として渡され、サブコンポーネントはその初期値をローカル データの初期値としてのみ使用します。
2.prop は、変換する必要がある元の値として渡されます。
6. プロパティの検証
ホームページ ウェブフロントエンド Vue.js vuejs で prop は何を意味しますか

vuejs で prop は何を意味しますか

Sep 18, 2021 pm 06:27 PM
prop vuejs

vuejs では、prop はデータを渡すために親コンポーネントによって使用されるカスタム プロパティです。サブコンポーネントは、props オプションを使用して「prop」を明示的に宣言する必要があります。文字列以外のテンプレートを使用する場合、prop 名の形式はキャメルケースからケバブケース (ダッシュ区切り) に変換されます。

vuejs で prop は何を意味しますか

このチュートリアルの動作環境: Windows7 システム、vue2.9.6 バージョン、DELL G3 コンピューター。

1. Prop を使用してデータを渡す

コンポーネント インスタンスのスコープは分離されています。これは、親コンポーネントのデータを子コンポーネントのテンプレート内で直接参照できないし、参照すべきではないことを意味します。 props を使用してデータを子コンポーネントに渡すことができます。
prop は、データを渡すために親コンポーネントによって使用されるカスタム プロパティです。子コンポーネントは、props オプション

Vue.component('child',{
    props:['message'],
    template:&#39;<span>{{ message }}</span>&#39;
})
ログイン後にコピー

を使用して「prop」を明示的に宣言し、通常の文字列を渡す必要があります:

<child message="hello!"></child>
ログイン後にコピー

結果:

hello!
ログイン後にコピー

2. キャメルケースとケバブケース

html では大文字と小文字が区別されません。非文字列テンプレートを使用する場合、プロップ名の形式はキャメルケースからケバブケースに変換されます (ダッシュで区切られます):

//camelCase
Vue.component(&#39;child&#39;,{
    props:[&#39;myMessage&#39;],
    template:&#39;<span>{{ message }}</span>&#39;
})
ログイン後にコピー
//kebab-case
<child my-message="hello!"></child>
ログイン後にコピー

繰り返しますが、文字列テンプレートを使用している場合は、これらの制限について心配する必要はありません。 。

3. 動的プロパティ

は、v-bind を使用して HTML 機能を式にバインドするのと似ています。 を使用することもできます。 v -bind props の値を親コンポーネントのデータに動的にバインドします。親コンポーネントのデータが変更されると、その変更は子コンポーネントにも反映されます。

<div>
    <input v-model="parrentMsg">
    <br>
    <child v-bind:my-message="parrentMsg"></child>
</div>
ログイン後にコピー

v-bind の短縮構文を使用する方が通常は簡単です。

<child :my-message="parrentMsg"></child>
ログイン後にコピー

4. リテラル構文と動的構文

これはリテラル prop であるため、その値は実際の数値ではなく文字列 "1" として渡されます。実際の JavaScript 数値を渡したい場合は、v-bind を使用して、その値が JavaScript 式

5 として評価されるようにする必要があります。 Flow

prop は単一バインドです。親コンポーネントのプロパティが変更されると、それは子コンポーネントに送信されますが、その逆は行われません。これは、子コンポーネントが親コンポーネントの状態を不注意に変更することを防ぐためです。これにより、アプリケーションのデータ フローが理解しにくくなります。同時に、これも理解しやすいです。親コンポーネントはサブコンポーネントの高レベルの抽象化であり、サブコンポーネントの共通部分を表します。1 つのコンポーネントのデータが変更されても、その抽象化は変わりません。ただし、その抽象化の変更は、すべてのサブコンポーネントの変更を表します。
さらに、グループが徐々に更新されるたびに、サブコンポーネントのすべてのプロパティが最新の値に更新されます。これは、子コンポーネント内の props を変更すべきではないことを意味します。これを行うと、Vue はコンソールに警告を表示します。
プロップの変更には通常 2 つのケースがあります:

1.prop が初期値として渡され、サブコンポーネントはその初期値をローカル データの初期値としてのみ使用します。

2.prop は、変換する必要がある元の値として渡されます。

より正確には、これら 2 つの状況は次のとおりです:
a. ローカル データ属性を定義し、prop の初期値をローカル データの初期値として使用します。

props: [‘initialCounter’], 
 data: function () { 
 return { counter: this.initialCounter} 
 }
ログイン後にコピー
    b.定义一个 computed 属性,此属性从 prop 的值计算得出。
   ```
    props: [&#39;size&#39;],
    computed: {
        normalizedSize: function () {
         return this.size.trim().toLowerCase()
     }
    }
ログイン後にコピー

6. プロパティの検証

コンポーネントは、プロパティの検証要件を指定できます。検証要件が指定されていない場合、Vue は警告を発行します。これは、コンポーネントを他の人が利用できるようにする場合に便利です。
prop が文字列配列ではなくオブジェクトである場合、それには検証要件が含まれます:

Vue.component(&#39;example&#39;, {
  props: {
    // 基础类型检测 (`null` 意思是任何类型都可以)
    propA: Number,
    // 多种类型
    propB: [String, Number],
    // 必传且是字符串
    propC: {
      type: String,
      required: true
    },
    // 数字,有默认值
    propD: {
      type: Number,
      default: 100
    },
    // 数组/对象的默认值应当由一个工厂函数返回
    propE: {
      type: Object,
      default: function () {
        return { message: &#39;hello&#39; }
      }
    },
    // 自定义验证函数
    propF: {
      validator: function (value) {
        return value > 10
      }
    }
  }
})
ログイン後にコピー

type には次のネイティブ コンストラクターを指定できます:

* String

* 数値

* ブール値

* 関数

* オブジェクト

* 配列

type は、instanceof を使用して検出されるカスタム コンストラクターにすることもできます。開発バージョンを使用している場合、プロパティの検証が失敗すると、警告がスローされます。

関連する推奨事項: 「vue.js チュートリアル

以上がvuejs で prop は何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue.js と Kotlin 言語を使用して Android アプリケーションを開発するためのヒント Vue.js と Kotlin 言語を使用して Android アプリケーションを開発するためのヒント Jul 31, 2023 pm 02:17 PM

Vue.js と Kotlin 言語を使用して Android アプリケーションを開発するためのヒント モバイル アプリケーションの人気とユーザー ニーズの継続的な成長により、Android アプリケーションの開発は開発者からますます注目を集めています。 Android アプリを開発する場合、適切なテクノロジー スタックを選択することが重要です。近年、Vue.js 言語と Kotlin 言語が Android アプリケーション開発の選択肢として徐々に人気になってきています。この記事では、Vue.js と Kotlin 言語を使用して Android アプリケーションを開発するためのテクニックをいくつか紹介し、対応するコード例を示します。 1. 最初に開発環境をセットアップする

「[Vue warn]: 必要な prop が見つかりません」エラーの解決方法 「[Vue warn]: 必要な prop が見つかりません」エラーの解決方法 Aug 26, 2023 pm 06:57 PM

「[Vuewarn]:Missingrequiredprop」エラーを解決する方法 Vue アプリケーションを開発するときに、「[Vuewarn]:Missingrequiredprop」という一般的なエラー メッセージが表示されることがあります。このエラーは通常、コンポーネントに必要なプロパティ値が欠如しており、コンポーネントが適切にレンダリングできないことを指します。この問題の解決策は簡単で、いくつかのスキルと規制によってこのエラーを回避し、対処することができます。ここにいくつかの解決策があります

Vue.js と Python を使用してデータ視覚化アプリケーションを開発するためのヒント Vue.js と Python を使用してデータ視覚化アプリケーションを開発するためのヒント Jul 31, 2023 pm 07:53 PM

Vue.js と Python を使用してデータ視覚化アプリケーションを開発するためのヒント はじめに: ビッグ データ時代の到来により、データ視覚化は重要なソリューションになりました。データ視覚化アプリケーションの開発では、Vue.js と Python を組み合わせることで、柔軟性と強力な機能を提供できます。この記事では、Vue.js と Python を使用してデータ視覚化アプリケーションを開発するためのヒントをいくつか紹介し、対応するコード例を添付します。 1. Vue.js の概要 Vue.js は軽量の JavaScript です。

Vue.js と Lua 言語の統合、ゲーム開発用のフロントエンド エンジン構築におけるベスト プラクティスと経験の共有 Vue.js と Lua 言語の統合、ゲーム開発用のフロントエンド エンジン構築におけるベスト プラクティスと経験の共有 Aug 01, 2023 pm 08:14 PM

Vue.js と Lua 言語の統合、ゲーム開発用のフロントエンド エンジンを構築するためのベスト プラクティスと経験の共有 はじめに: ゲーム開発の継続的な開発に伴い、ゲーム フロントエンド エンジンの選択は重要な決定となっています。これらの選択肢の中で、Vue.js フレームワークと Lua 言語が多くの開発者の注目を集めています。人気のフロントエンド フレームワークとして、Vue.js は豊富なエコシステムと便利な開発方法を備えていますが、Lua 言語は軽量で効率的なパフォーマンスのため、ゲーム開発で広く使用されています。この記事では、その方法について説明します。

PHP と Vue.js を使用してグラフにデータのフィルタリングと並べ替え機能を実装する方法 PHP と Vue.js を使用してグラフにデータのフィルタリングと並べ替え機能を実装する方法 Aug 27, 2023 am 11:51 AM

PHP と Vue.js を使用してグラフにデータのフィルタリングと並べ替え機能を実装する方法 Web 開発では、グラフはデータを表示する非常に一般的な方法です。 PHP と Vue.js を使用すると、グラフ上にデータのフィルタリングおよび並べ替え機能を簡単に実装でき、ユーザーがグラフ上のデータの表示をカスタマイズできるようになり、データの視覚化とユーザー エクスペリエンスが向上します。まず、グラフで使用するデータのセットを準備する必要があります。名前、年齢、学年の 3 つの列を含むデータ テーブルがあるとします。データは次のとおりです: 名前、年齢、学年 Zhang San 1890 Li

Vue.js と Dart 言語の統合、クールなモバイル アプリケーション UI インターフェイスを構築するための実践的および開発スキル Vue.js と Dart 言語の統合、クールなモバイル アプリケーション UI インターフェイスを構築するための実践的および開発スキル Aug 02, 2023 pm 03:33 PM

Vue.js と Dart 言語の統合、クールなモバイル アプリケーション UI インターフェイスを構築するための実践と開発スキル はじめに: モバイル アプリケーション開発において、ユーザー インターフェイス (UI) の設計と実装は非常に重要な部分です。クールなモバイル アプリケーション インターフェイスを実現するために、Vue.js を Dart 言語と統合し、Vue.js の強力なデータ バインディング機能とコンポーネント化機能、および Dart 言語の豊富なモバイル アプリケーション開発ライブラリを使用して、素晴らしいモバイル アプリケーションを構築できます。 UIインターフェイス。この記事ではその方法を説明します

Vue.js と Perl 言語を使用して効率的な Web クローラーとデータ スクレイピング ツールを開発します。 Vue.js と Perl 言語を使用して効率的な Web クローラーとデータ スクレイピング ツールを開発します。 Jul 31, 2023 pm 06:43 PM

Vue.js と Perl 言語を使用して、効率的な Web クローラーとデータ スクレイピング ツールを開発します。近年、インターネットの急速な発展とデータの重要性の増大に伴い、Web クローラーとデータ スクレイピング ツールの需要も増加しています。この文脈では、Vue.js と Perl 言語を組み合わせて効率的な Web クローラーとデータ スクレイピング ツールを開発することは良い選択です。この記事では、Vue.js と Perl 言語を使用してこのようなツールを開発する方法を紹介し、対応するコード例を添付します。 1. Vue.js と Perl 言語の概要

Vue を使用して QQ のようなチャット バブル効果を実装する方法 Vue を使用して QQ のようなチャット バブル効果を実装する方法 Sep 20, 2023 pm 02:27 PM

Vue を使用して QQ のようなチャット バブル効果を実装する方法 今日のソーシャル時代において、チャット機能はモバイル アプリケーションや Web アプリケーションの中核機能の 1 つとなっています。チャット インターフェイスで最も一般的な要素の 1 つはチャット バブルです。これにより、送信者のメッセージと受信者のメッセージを明確に区別でき、メッセージの読みやすさが効果的に向上します。この記事では、Vue を使用して QQ のようなチャット バブル効果を実装する方法を紹介し、具体的なコード例を示します。まず、チャット バブルを表す Vue コンポーネントを作成する必要があります。コンポーネントは 2 つの主要な部分で構成されます

See all articles