{products.push({item:"BaseballC"> 함수에서 Vue 구성 가능 인스턴스에 액세스하시겠습니까?-PHP 중국어 네트워크 Q&A
함수에서 Vue 구성 가능 인스턴스에 액세스하시겠습니까?
P粉845862826
P粉845862826 2023-08-29 08:59:18
0
1
498

애플리케이션 전체에서 여러 번 재사용하려는 간단한 vue 구성 가능 함수가 있다고 가정해 보겠습니다. 이 경우에는 반응형 속성(제품, 제품 목록이 포함된 배열)과 새 요소를 배열에 푸시하는 "addProduct" 메서드가 있습니다.

내보내기 함수 useCart(){ const 제품 = ref([]) const addProduct() =>{ products.push({item: "야구 모자", 수량: 1}) } 반품 { 제품, 제품 추가 } }

매우 잘 작동합니다. 그러나 행이 "cart" 속성을 통해 상위 "cart"에 액세스할 수 있도록 구성 가능한 카트의 인스턴스를 각 행에 전달하고 싶습니다.

다음이 효과가 있기를 바랍니다. 저는 "this"가 함수가 호출되는 개체(장바구니 인스턴스)를 참조해야 한다고 생각합니다.

내보내기 함수 useCart(){ const 제품 = ref([]) const addProduct() =>{ //이것이 장바구니 컴포저블의 인스턴스여야 합니까? products.push({item: "야구 모자", 수량: 1, 장바구니: this}) } 반품 { 제품, 제품 추가 } }

그러나 컴포저블을 사용하여 구성요소에서 테스트할 때 'this' 값은 정의되지 않습니다.

const testCart = useCart testCart.addProduct()

이 컨텍스트에서 'this'가 정의되지 않은 이유는 무엇이며, 구성 가능한 메서드 내에서 구성 가능한 인스턴스에 어떻게 액세스하나요?

P粉845862826
P粉845862826

모든 응답 (1)
P粉258788831

제대로 하면 효과가 있을 거예요.

하지만functions()而不是lambda,因为lambda没有上下文,并且this = window코드>

를 사용해야 합니다. 으아악

하지만 .cart 속성에서this컨텍스트를 사용하는 데 문제가 있습니다.

cart.products.value[0].cart.products와 비슷합니다. 그것은 단지 작동하지 않습니다.

디자인을 다시 생각해보실 것을 제안합니다. 나는 그렇게하지 않을 것입니다.

놀이터를 확인해 보세요. 두 번째는 창이다.

으아악 으아악
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!