2016-06-08 13 views
3

나는 vueify로 작업 중이며 browserify하고있다. 내 main.js 파일에 객체를 만들었습니다.글로벌 저장소 개체를 설정하는 방법은 무엇입니까?

});

이제 내 Vue 인스턴스에서 foo.store.foo와 함께 사용할 수 있습니다! 하지만 저장소 개체를 구성 요소에 사용하면 저장소 개체가 정의되지 않았습니까?

이유를 아는 사람이 있습니까?

+0

'window.store = {}'와 같은 창 객체에 store 메소드를 두십시오. 브라우저가 아닌 webpack을 사용하는 Vue cli와 같은 도구를 위해 에코 시스템이 더 많이 개발되었다는 점은 주목할 가치가 있습니다. –

답변

4

아마도 전 세계 어디서나 매장을 이용할 수있는 가장 좋은 방법은 플러그인으로 노출하는 것입니다.

how to expose a Vuex store as a plugin for your app에 대한 블로그 글을 썼습니다. 간단히 말해서

:

메인 Vue 프로토 타입에 저장소 개체를 추가하는 파일을 만듭니다.

storePlugin.js :

import store from '.' // this is your store object 
export default { 
    store, 
    // we can add objects to the Vue prototype in the install() hook: 
    install (Vue, options) { 
    Vue.prototype.$myStore = store 
    } 
} 

그리고 main.js에, 당신은 당신의 플러그인을 사용하도록 알려주기 : 뷰가 쉽게이 할 수 있도록하기 위해 install 훅을 제공

import storePlugin from './storePlugin' 
Vue.use(storePlugin) 

그런 다음 것을, 예를 들어 다음을 통해 구성 요소에서 상점에 액세스 할 수 있습니다.

this.$myStore