programing

모든 구성 요소에서 변수를 사용할 수 있도록 하는 Vue

prostudy 2022. 5. 4. 21:26
반응형

모든 구성 요소에서 변수를 사용할 수 있도록 하는 Vue

나는 현재 돔에서 언어 설정을 읽고 있고 그것을 언어로 설정하고 있다.global이와 같은 Vue.js 변수:

const language = document.querySelector('html').getAttribute('lang');
Vue.prototype.$language = language;

그것은 잘 작동하지만 나는 또한 Vue.js 이벤트 버스의 예로서 이것을 보았다.

Object.defineProperties(Vue.prototype, {
    $bus: {
        get() {
            return EventBus;
        }
    }
});

이 둘 사이의 진짜 차이점은 무엇이며 이것을 하는 더 선호하는 방법이 있는가?

Object.defineProperties는 getters, setters, read only 등과 같은 속성 설명자를 설정할 필요가 있을 때 사용될 수 있다.

하지만 당신의 경우 Vue.prototype을 사용하십시오.$language = 언어; 더 깨끗한 접근법이 될 것이다.

Vue 선호 방법을 찾는 경우 Vue 인스턴스에 인스턴스 속성을 추가하는 방법을 참조하십시오.

참조URL: https://stackoverflow.com/questions/44775205/vue-making-a-variable-available-in-all-components

반응형