반응형
사용자 지정 VueJS 지침에서 변수를 선언하는 방법
이렇게 통상적인 방법으로 변수를 선언하려고 했을 때 오류가 생겼다.
Vue.directive('my-directive', {
varA: '',
inserted: function(el, binding, vnode){
this.varA = 'test'; // TypeError: Cannot set property
// 'varA ' of undefined
},
});
TypeError: 정의되지 않은 속성 'varA'를 설정할 수 없음
Vue 명령에서 변수를 어떻게 선언하십니까?
Vue 명령에서 값을 저장해야 할 때는 일반적으로 요소에 저장된다.
Vue.directive('my-directive', {
inserted: function(el, binding, vnode){
el.varA = 'test';
},
});
요소는 지침에서 각 라이프사이클 이벤트에 대한 인수로 전달되며, 사용자는 나중에 다음 위치에서 값에 액세스할 수 있다.el.varA
.
이를 위한 두 가지 방법이 있는 것 같다.
github에 대한 이 의견에 따라 다음과 같은 상태 저장 명령을 정의할 수 있다.
Vue.directive('my-directive', (() => { let varA = ''; return { inserted: function(el, binding, vnode){ varA = 'test'; }, }; })());
Vue.js 문서에 있는 노트 상자에 따르면:
후크를 통해 정보를 공유하려면 요소의 데이터 집합을 통해 공유하십시오.
Vue.directive('my-directive', { inserted: function(el, binding, vnode){ el.dataset.varA = 'test'; }, });
당신의this
네가 생각하는 그런 게 아니야네가 한다면.console.log(this)
네 능력 안에서, 너는 그것을 볼 수 있을 것이다.this
창문이요
문서를 보면 '평범한 요소에 대한 낮은 수준의 DOM 접근만 필요한 경우'에 대한 지침이 나와 있다.그래서 지시사항에 대한 조항이 없다.지시사항이 아니라 구성요소가 필요한 것 같아.뭘 하려는 거야?당신은 지시문을 쓸 필요 없이 vue에서 먼 길을 갈 수 있다.
참조URL: https://stackoverflow.com/questions/45050066/how-to-declare-variables-in-custom-vuejs-directives
반응형
'IT이야기' 카테고리의 다른 글
Vue/Vuetify - 알 수 없는 사용자 지정 요소: - 구성 요소를 올바르게 등록하셨습니까? (0) | 2022.03.09 |
---|---|
v-data-table에 클릭 이벤트를 추가하는 방법 (0) | 2022.03.09 |
New Typecript 1.8.4 빌드 오류: " 빌드: 속성 '결과'가 'EventTarget' 유형에 없음. (0) | 2022.03.09 |
vuex에서 스토어 값을 보는 방법? (0) | 2022.03.09 |
문자열에 Python의 목록에 있는 요소가 포함되어 있는지 확인하는 방법 (0) | 2022.03.09 |