ブラウザのコンソールで以下を実行すると、エラーにならずtestと表示されます。
JavaScript
1const a = () => { console.log("test") } 2a()
しかし、Vueのコンポーネントのpropsの初期値にアロー関数を設定すると、JavaScriptエラーになります。
(呼び出し元でpropsに実際の関数を渡して上書きすると、正常に動作します)
TypeError: t.form.methods.search is not a function
JavaScript
1<template> 2 <a @click="form.methods.search()"> 3 検索 4 </a> 5</template> 6 7<script> 8export default { 9 name: 'Hoge', 10 props: { 11 form: { 12 type: Object, 13 default: () => { 14 return { 15 params: { 16 keyword: "", 17 }, 18 methods: { 19 search: () => { console.log("search method not defined.") }, 20 }, 21 } 22 } 23 }, 24 }, 25} 26</script>
なぜこのような挙動になるのでしょうか。
また、methodsに定義するのではなく、アロー関数のままでデフォルトの関数を動作させる方法はありますか?
ご教示のほど、よろしくお願いいたしますm(_ _)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/14 05:18