vuejs の data と props の違いは何ですか

青灯夜游
リリース: 2021-10-26 16:12:44
オリジナル
4966 人が閲覧しました

vuejs における data と props の違い: 1. データはユーザー (開発者) が値を渡す必要がなく、データ自体を維持しますが、props はユーザー (開発者) が値を渡す必要があります。 2. data 上のデータは読み取りと書き込みの両方が可能ですが、props 上のデータは読み取りのみ可能で、再割り当てはできません。

vuejs の data と props の違いは何ですか

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

Vue.js を使用するプロセスでは、dataprops に頻繁に遭遇します。今日はこの 2 つの違いを見てみましょう。

#データ

    タイプ:
  • オブジェクト | 関数
  • 制限: コンポーネントの定義は、
  • Function
    Vue インスタンスのデータ オブジェクトのみを受け入れます。 Vue は、data のプロパティを getter/setter に再帰的に変換し、data のプロパティがデータの変更に対応できるようにします。オブジェクトは純粋なオブジェクト (0 個以上の key/value ペアを含む)、つまりブラウザ API によって作成されたネイティブ オブジェクトである必要があり、プロトタイプのプロパティは無視されます。大まかに言えば、data はデータのみである必要があります。ステートフルな動作を持つオブジェクトを観察することはお勧めできません。 例:
var data = { a: 1 }

// 直接创建一个实例
var vm = new Vue({
  data: data
})
vm.a // => 1
vm.$data === data // => true

// Vue.extend() 中 data 必须是函数
var Component = Vue.extend({
  data: function () {
    return { a: 1 }
  }
})
ログイン後にコピー

props

##タイプ:
    配列<文字列>
  • | Objectprops
    親コンポーネントからデータを受け取る配列またはオブジェクトを指定できます。 props 単純な配列にすることも、代わりにオブジェクトを使用することもできます。これにより、型検出、カスタム検証、デフォルト値の設定などの高度なオプションを構成できます。 例:
    // 简单语法
    Vue.component(&#39;props-demo-simple&#39;, {
      props: [&#39;size&#39;, &#39;myMessage&#39;]
    })
    
    // 对象语法,提供验证
    Vue.component(&#39;props-demo-advanced&#39;, {
      props: {
        // 检测类型
        height: Number,
        // 检测类型 + 其他验证
        age: {
          type: Number,
          default: 0,
          required: true,
          validator: function (value) {
            return value >= 0
          }
        }
      }
    })
    ログイン後にコピー
2 つの違い:

違い 1:

data

Not必須ユーザー (開発者) は値を渡し、自分自身を維持します

props

ユーザー (開発者) に値を渡すよう要求します違い 2:

1.データ データは読み取りと書き込みの両方が可能です。

2. プロップのデータは読み取りのみ可能で、再割り当てはできません。

プログラミング関連の知識については、

プログラミング学習を参照してください。

! !

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート