아래 Vue 3의 간단한 구성요소 예를 살펴보세요.
으아악이유를 one()
函数调用two()
函数时,this
在two()
函数中是undefined
。两个函数都在setup()
中返回,所以我期望它们都能访问this
부터 이해하려고 노력 중입니다.
그런데 two()
函数中获取对组件实例this
에 있는 인용문은 어때요?
P粉7764125972023-11-07 00:01:40
Vue는 여전히 JavaScript의 규칙을 따라야 한다고 생각합니다. 이벤트 핸들러가 호출되는 경우 일반적으로 이벤트를 수신하는 객체의 컨텍스트에서 발생합니다. 이 경우에는 one()
被绑定到<a>
元素的Proxy
,并且this
绑定到Proxy
.
그러나 two()
被特别地调用没有上下文(即:two()
而不是someobject.foo()
)。这意味着this
는 정의되지 않습니다.
저는 Vue에 대해 잘 알지는 못하지만 자동으로 메소드를 바인딩하지 않으므로 사용하지 않는 것에 대해 비용을 지불할 필요가 없다고 생각합니다.
기본 함수로 호출되는 대신 one()
中this
已正确绑定,你实际上可以将two()
作为this
의 메서드 호출로 인해: