Vue의 Prop은 함수를 전달할 수 있으며, 문자열, 배열, 숫자 및 객체는 Vue에서 Prop으로 전달될 수 있습니다. Prop은 주로 외부에서 전달된 데이터를 수신하는 데 사용됩니다. 구문은 "기본값 내보내기 {메서드: {myFunction() {// ...}}};"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Vue3 버전, Dell G3 컴퓨터.
Vue 초보자들이 자주 묻는 질문입니다. 문자열, 배열, 숫자, 객체는 props
로 전달될 수 있습니다. 그런데 함수를 props
로 전달할 수 있나요? props
传递。但是你能把一个函数当作一个props
来传递吗?
虽然可以将函数作为props
props
로 전달하는 것은 가능하지만 좋지 않습니다. 반대로 Vue에는 이 문제를 해결하기 위해 특별히 설계된 기능이 있습니다. 다음으로 살펴보겠습니다. <template> <ChildComponent :function="myFunction" /> </template> export default { methods: { myFunction() { // ... } } };
// ChildComponent export default { created() { this.$emit('created'); } }
<template> <ChildComponent @created="handleCreate" /> </template> export default { methods: { handleCreate() { console.log('Child has been created.'); } } };
「부모 클래스에서 값 가져오기」
자식 컴포넌트가 부모 컴포넌트의 메서드에 액세스하도록 하려면 해당 메서드를 prop으로 직접 전달하는 것이 간단하고 간단해 보입니다. 상위 구성 요소에서는 다음을 수행합니다.<!-- Parent --> <template> <ChildComponent :method="parentMethod" /> </template> // Parent export default { methods: { parentMethod() { // ... } } }
// Child export default { props: { method: { type: Function }, }, mounted() { // Use the parent function directly here this.method(); } }
<!-- Parent --> <template> <ChildComponent :method="parentMethod" /> </template> // Parent export default { methods: { parentMethod(valueFromChild) { // Do something with the value console.log('From the child:', valueFromChild); } } }
// Child export default { props: { method: { type: Function }, }, data() { return { value: 'I am the child.' }; }, mounted() { // Pass a value to the parent through the function this.method(this.value); } }
<!-- Parent --> <template> <ChildComponent @send-message="handleSendMessage" /> </template> // Parent export default { methods: { handleSendMessage(event, value) { // Our event handler gets the event, as well as any // arguments the child passes to the event console.log('From the child:', value); } } }
// Child export default { props: { method: { type: Function }, }, data() { return { value: 'I am the child.' }; }, mounted() { // Instead of calling the method we emit an event this.$emit('send-message', this.value); } }
【관련 추천: "vue.js tutorial"】
위 내용은 props가 vue에서 함수를 전달할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!