[解決済み】Vue 2 - プロップの変異 vue-warn
2022-04-04 17:45:42
質問
私は https://laracasts.com/series/learning-vue-step-by-step のシリーズです。レッスンで止めた Vue、Laravel、そしてAJAX というエラーが出てしまいます。
vue.js:2574 [Vue warn]: 親コンポーネントが再レンダリングするたびに値が上書きされるため、propを直接変異させることは避けてください。代わりに、propの値を基にしたデータまたは計算されたプロパティを使用してください。変異させるプロップ: "list" (コンポーネント内で見つかる)
私はこのコードを main.js
Vue.component('task', {
template: '#task-template',
props: ['list'],
created() {
this.list = JSON.parse(this.list);
}
});
new Vue({
el: '.container'
})
にあることは知っています。 created() を上書きしてしまったのですが、私はVueの初心者なので、どう直せばいいのか全く分かりません。どなたか修正方法をご存知の方(理由も教えてください)いらっしゃいませんか?
解決方法は?
ということと関係があります。 ローカルでプロップを変更することは、Vue 2 ではアンチパターンとみなされています。
万が一に備えて、今やるべきこと
ローカルでプロップを変更する
でフィールドを宣言することです。
data
を使用します。
props
の値を初期値とし、そのコピーを変異させる。
Vue.component('task', {
template: '#task-template',
props: ['list'],
data: function () {
return {
mutableList: JSON.parse(this.list);
}
}
});
で詳しく紹介しています。 Vue.js公式ガイド
注1:
ご注意ください
あなたは
ではなく
には同じ名前を使用します。
prop
と
data
は、すなわち
data: function () { return { list: JSON.parse(this.list) } } // WRONG!!
注2:
以来
という混乱があるような気がします。
について
props
と
反応性
をご覧ください。
これ
スレッド
関連
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】Vueが定義されていない