브라우저 콘솔에서 VueJs $watch 트리거가 작동하지 않음
나는 이것을 가지고 있다.main.js
Vue 어플리케이션을 부트스트랩하는 파일입니다.
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false
var model = {
a: 1,
name: 'Abdullah'
}
var app = new Vue({
el: '#app',
data: model,
router,
template: '<App/>',
components: {
App
},
watch: {
a: function(val, oldVal) {
console.log('new: %s, old: %s', val, oldVal)
}
}
});
app.a = 23; //This triggers the watch function
뷰 인스턴스 내에서 데이터의 변경을 감시하고 있습니다.a
.
변경 사항a
를 트리거합니다.watch
콘솔에 씁니다.이것.watch
값을 변경하여 트리거하면 정상적으로 동작합니다.a
내부로부터main.js
이렇게 줄서다app.a=23;
하지만 브라우저 콘솔에서 트리거할 때도 동일하게 동작하지 않습니다.
트리거 방법watch
언제든지 브라우저 콘솔에서a
변경되었습니까?
PS: 저는 이제 막VueJS
.
여기에는 몇 가지 문제가 있습니다.
우선은div
와 함께id
의app
. 모든 브라우저는 html 요소를 만듭니다.id
글로벌 변수로 사용할 수 있습니다.그러면 다음과 같은 글로벌 변수가 있습니다.app
를 가리키다div
와 함께id
의app
.
둘째, 다음 결과를 캡처합니다.new Vue()
라는 변수로app
다만, 빌드 시스템을 사용하고 있기 때문에(사용하고 있기 때문에)import
)그것 app
거의 모든 빌드 시스템이 컴파일된 Javascript를 클로징으로 래핑하기 때문에 글로벌 범위에서는 사용할 수 없습니다.
그 결과,app
변경은 불가능하지만 변경은 완전히 다른 변수가 존재하기 때문인 것 같습니다.app
글로벌 범위에서 이용하실 수 있습니다.
실행하려는 작업을 수행할 경우 스크립트를 다음과 같이 변경할 것을 권장합니다.
window.myApp = new Vue(...)
그러면 콘솔로 이동하여
myApp.a = 23
그리고 당신이 기대하는 결과를 보세요.
언급URL : https://stackoverflow.com/questions/44241347/triggering-vuejs-watch-from-browsers-console-not-working
'sourcecode' 카테고리의 다른 글
새 텍스트 상자 Vue3을 추가할 번호를 입력합니다. (0) | 2022.08.10 |
---|---|
C++에서의 디버깅 매크로 (0) | 2022.08.10 |
vuej에서 추가 버튼 로드 (0) | 2022.08.10 |
Nuxt store getter가 작동하지 않습니다. 페이로드에 지정된 ID가 Integer + Error가 아닙니다. [vuex] 변환 핸들러 외부의 vuex 스토어 상태를 변환하지 마십시오. (0) | 2022.08.10 |
Vue 컴포넌트를 소품 및 슬롯 기본값으로 확장하는 방법 (0) | 2022.08.10 |