ホームページ > ウェブフロントエンド > フロントエンドQ&A > vue sync でエラーが発生した場合の対処方法

vue sync でエラーが発生した場合の対処方法

藏色散人
リリース: 2022-12-26 16:25:08
オリジナル
2510 人が閲覧しました

vue 同期エラーの解決策: 1. "<child-dialog :name.sync="userName"></child-Dialog> のようなコードを使用して、親コンポーネントによって渡されたデータを変更します。 "; 2. "" のようなコードを使用して、オブジェクトに転送する必要がある基本データ型の値を入力します。

vue sync でエラーが発生した場合の対処方法

#このチュートリアルの動作環境: Windows 10 システム、Vue バージョン 3、Dell G3 コンピューター。

vue 同期でエラーが発生した場合はどうすればよいですか?

Vue modifier.sync (エラー報告の解決策であるため、prop を直接変更することは避けてください)

まえがき

以下に示すように、子コンポーネントが親コンポーネントから渡された props を変更するとエラーを報告することは誰もが知っています

1. .sync

とは親子コンポーネント間でデータを変更したい場合は、親コンポーネントと子コンポーネント間で通信する必要があります。親から子に渡す: データを子コンポーネントにバインドし、子コンポーネントは props を使用してそれを受け取ります。子から親へ、親コンポーネントはコンポーネント上のイベントをバインドする必要があり、子コンポーネントはコンポーネント上のイベントをバインドする必要があります。イベントを渡すには $emit を使用します。このようなデータ変更は記述するのが少し面倒です。.sync 修飾子は、親コンポーネントのデータを変更するための上記のサブコンポーネントの略語です。

2. .sync

の使用法 文法:

:props名称 . sync=“props值”
$emit( “ update:props名称 ” ,新值)
ログイン後にコピー

親コンポーネント

<child-dialog :name.sync="userName"></child-Dialog>
ログイン後にコピー

子コンポーネント

<el-button type="primary" @click="changeName(&#39;王五&#39;)">修改名字</el-button>
ログイン後にコピー
ログイン後にコピー
methods:{
changeName(newName){
//修改父组件传过来的数据
this.$emit(&#39;update:name&#39;, newName)
}
}
ログイン後にコピー
:name.sync修饰符其实是以下代码的缩写
@update:name="val => name= val"
ログイン後にコピー

#3. 他のプロパティの双方向ボンディングのメソッド

オブジェクトの転送

基本的なデータ型の値を入れるこれはオブジェクトに転送する必要があります。オブジェクトの値がサブコンポーネントで変更されても、エラーは報告されません。原則として、オブジェクトは複合データ型であり、サブコンポーネントはそれを受け取ります。受信したオブジェクトとオブジェクト親コンポーネントによって渡されるコンポーネントは同じメモリ アドレスを共有するため、双方向ボンディングの効果を実現できます。

親コンポーネント

<div>
<child-dialog :toChildObj="obj"></child-Dialog>
<p>
<span>名字:</span>{{name}}
</p>
</div>
ログイン後にコピー
export default {
data(){
return{
obj:{
name: "张三"
}
}
}
}
ログイン後にコピー

サブコンポーネント

<el-button type="primary" @click="changeName(&#39;王五&#39;)">修改名字</el-button>
ログイン後にコピー
ログイン後にコピー
export default {
props:{
toChildObj:{
type:Object,
default:{}
},
},
data(){
return{}
},
methods:{
changeName(newName){
//修改父组件传过来的数据
this.toChildObj.name = newName;
}
}
}
ログイン後にコピー
推奨学習:「

vue.jsビデオチュートリアル

以上がvue sync でエラーが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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