함수에서 Vue 구성 가능 인스턴스에 액세스하시겠습니까?
<p>애플리케이션 전체에서 여러 번 재사용하려는 간단한 vue 구성 가능 함수가 있다고 가정해 보겠습니다. 이 경우에는 반응형 속성(제품, 제품 목록이 포함된 배열)과 새 요소를 배열에 푸시하는 "addProduct" 메서드가 있습니다. </p>
<pre class="brush:php;toolbar:false;">내보내기 함수 useCart(){
const 제품 = ref([])
const addProduct() =>{
products.push({item: "야구 모자", 수량: 1})
}
반품 {
제품,
제품 추가
}
}</pre>
<p>매우 잘 작동합니다. 그러나 행이 "cart" 속성을 통해 상위 "cart"에 액세스할 수 있도록 구성 가능한 카트의 인스턴스를 각 행에 전달하고 싶습니다. </p>
<p>다음이 효과가 있기를 바랍니다. 저는 "this"가 함수가 호출되는 개체(장바구니 인스턴스)를 참조해야 한다고 생각합니다. </p>
<pre class="brush:php;toolbar:false;">내보내기 함수 useCart(){
const 제품 = ref([])
const addProduct() =>{
//이것이 장바구니 컴포저블의 인스턴스여야 합니까?
products.push({item: "야구 모자", 수량: 1, 장바구니: this})
}
반품 {
제품,
제품 추가
}
}</pre>
<p>그러나 컴포저블을 사용하여 구성요소에서 테스트할 때 'this' 값은 정의되지 않습니다. </p>
<pre class="brush:php;toolbar:false;">const testCart = useCart
testCart.addProduct()</pre>
<p>이 컨텍스트에서 'this'가 정의되지 않은 이유는 무엇이며, 구성 가능한 메서드 내에서 구성 가능한 인스턴스에 어떻게 액세스하나요? </p>