Vuex가 하위 구성 요소에서 작동하지 않습니다.

오자 마

다음 간단한 코드는 일부 구성 요소와 루트 인스턴스가 vuex 개체에서 바인딩하는 대신 콘솔에 오류를 기록하기 때문에 많은 골칫거리가되었습니다. 여기서 무엇을 놓칠 수 있습니까?

var state = {
	counter: 0
};
var mutations = {};
var store = new Vuex.Store({state, mutations});

var someComponent = Vue.extend({
  template: '<div>{{counter}}</div>',
  //data: function(){return {counter: 0}},
  vuex: {
    getters: {
      counter: getCounter
    }
  }
});

new Vue({
  el: '#app',
  components: {
  	'some-component': someComponent
  },
  store: store,
  vuex: {
  	getters: {
  		counter: getCounter
  	}
  }
});


function getCounter(state) {
  return state.counter;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>vue-bug</title>
  </head>
  <body>
    <div id="app">
    	<span>{{counter}}</span>
    	<some-component></some-component>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.0-rc.1/vue.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vuex/2.0.0-rc.1/vuex.js"></script>
  </body>
</html>

내 코드에서는 Vue.use (Vuex)를 호출하고 있지만이 바이올린에서는 그럴 필요가 없습니다 (Vuex가 이미 등록되어 있다고 말합니다). 또한 데이터가있는 줄의 주석 처리를 제거하면 구성 요소가 제대로 렌더링됩니다.

어떤 도움이라도 대단히 감사합니다.

안토니오 콰 드라도

Vue / Vuex 2.0을 사용하는 경우이 링크 를 확인해야 합니다 . vuex 2.0에서는 vuex게터와 액션을 설정하기 위해 컴포넌트 내부 에 속성을 생성하지 않습니다 . 대신 store.js파일에서 다음과 같이 상태에서 소품을 가져 와서 저장소에 주입 할 getters 객체를 정의합니다.

const state = {
    counter: 0
}
const getters = {
    getCounter: state.counter
}

const actions = {}
const mutations = {}

export default new Vuex.Store({
    state,
    getters,
    actions,
    mutations,   
 })

구성 요소에서 다음과 같이 계산 된 속성을 사용하여 게터를 정의 할 수 있습니다.

import { mapGetter, mapActions } from 'vuex'

export default {
    template: '#some-template',
    computed: {
        yourFirstComputed() {},
        anotherOfYourComputed() {},
        ...mapGetters({
            getCounter: 'getCounter'
        })
    },
    methods: {
        yourMethod(){},
        ...mapActions({
             anyOfYourActions: 'anyOfYourActions'
        })
    }
}

그런 다음 일반 계산에서와 같이 이러한 소품을 호출 할 수 있습니다. 반복합니다, 이것은 질문에 대한 의견을 읽은 후 사용하고 있다고 생각하는 vuex 2에 적용됩니다.

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Angular ngOnInit가 하위 구성 요소에 대해 작동하지 않습니다.

분류에서Dev

useState 함수가 기능 구성 요소에서 작동하지 않습니다.

분류에서Dev

Simple Polymer 구성 요소가 Safari 10에서 작동하지 않습니다.

분류에서Dev

Work Fusion RPA Express에서 'PostgreSQL'구성 요소가 작동하지 않습니다.

분류에서Dev

하위 구성 요소가 상위 구성 요소에서 제대로 렌더링되지 않습니다.

분류에서Dev

구성 요소에서 두 번 관찰 가능한 항목을 구독하면 작동하지 않습니다.

분류에서Dev

하위 구성 요소에 전달 된 React 클릭 핸들러가 작동하지 않습니다.

분류에서Dev

.first () 요소가 동적 생성 <li>에서 작동하지 않습니다.

분류에서Dev

router.js에서 구성 요소 동적 가져 오기가 작동하지 않습니다.

분류에서Dev

내가 만든 구성 요소에서 이동 경로가 작동하지 않습니다 (Joomla!)

분류에서Dev

페이지 쿼리가 Gridsome의 구성 요소 내에서 작동하지 않습니다.

분류에서Dev

jQuery 구문-remove ()가 요소에서 작동하지 않습니다.

분류에서Dev

popUpTo가 탐색 구성 요소에서 작동하지 않는 것 같습니다.

분류에서Dev

로그인 후 laravel의 vue js 구성 요소에서 get 경로가 작동하지 않습니다.

분류에서Dev

Angular RouterLink 상대 경로는 빈 경로가있는 구성 요소에서 작동하지 않습니다.

분류에서Dev

재사용 가능한 순회 구성 요소는 항상 gremlin에서 작동하지 않습니다.

분류에서Dev

각도 재질 구성 요소가`Material Dialog` 내에서 작동하지 않습니다.

분류에서Dev

Vue prop 시계가 클래스 스타일 구성 요소에서 작동하지 않습니다.

분류에서Dev

각도 재질 구성 요소가 내 프로젝트에서 작동하지 않습니다.

분류에서Dev

Angular2 구성 요소에서 상대 경로가 작동하지 않습니다.

분류에서Dev

Material UI Table 구성 요소가 Redux에서 제대로 작동하지 않습니다.

분류에서Dev

igraph에서 하위 구성 요소가 실패했습니다.

분류에서Dev

CSS Hover가 절대 위치 요소의 계층 구조에서 작동하지 않습니다.

분류에서Dev

CSS Hover가 절대 위치 요소의 계층 구조에서 작동하지 않습니다.

분류에서Dev

ReactJS : (grand) 하위 구성 요소의 onClick 핸들러가 작동하지 않습니다.

분류에서Dev

구성 요소 이름이 동일하면 하위 구성 요소가 다시 호출되지 않습니다.

분류에서Dev

하위 구성 요소가 호출되지 않았습니다.

분류에서Dev

v 모델이있는 사용자 지정 스위치 구성 요소가 작동하지 않습니다.

분류에서Dev

React의 복잡한 중첩 구성 요소가 작동하지 않습니다

Related 관련 기사

  1. 1

    Angular ngOnInit가 하위 구성 요소에 대해 작동하지 않습니다.

  2. 2

    useState 함수가 기능 구성 요소에서 작동하지 않습니다.

  3. 3

    Simple Polymer 구성 요소가 Safari 10에서 작동하지 않습니다.

  4. 4

    Work Fusion RPA Express에서 'PostgreSQL'구성 요소가 작동하지 않습니다.

  5. 5

    하위 구성 요소가 상위 구성 요소에서 제대로 렌더링되지 않습니다.

  6. 6

    구성 요소에서 두 번 관찰 가능한 항목을 구독하면 작동하지 않습니다.

  7. 7

    하위 구성 요소에 전달 된 React 클릭 핸들러가 작동하지 않습니다.

  8. 8

    .first () 요소가 동적 생성 <li>에서 작동하지 않습니다.

  9. 9

    router.js에서 구성 요소 동적 가져 오기가 작동하지 않습니다.

  10. 10

    내가 만든 구성 요소에서 이동 경로가 작동하지 않습니다 (Joomla!)

  11. 11

    페이지 쿼리가 Gridsome의 구성 요소 내에서 작동하지 않습니다.

  12. 12

    jQuery 구문-remove ()가 요소에서 작동하지 않습니다.

  13. 13

    popUpTo가 탐색 구성 요소에서 작동하지 않는 것 같습니다.

  14. 14

    로그인 후 laravel의 vue js 구성 요소에서 get 경로가 작동하지 않습니다.

  15. 15

    Angular RouterLink 상대 경로는 빈 경로가있는 구성 요소에서 작동하지 않습니다.

  16. 16

    재사용 가능한 순회 구성 요소는 항상 gremlin에서 작동하지 않습니다.

  17. 17

    각도 재질 구성 요소가`Material Dialog` 내에서 작동하지 않습니다.

  18. 18

    Vue prop 시계가 클래스 스타일 구성 요소에서 작동하지 않습니다.

  19. 19

    각도 재질 구성 요소가 내 프로젝트에서 작동하지 않습니다.

  20. 20

    Angular2 구성 요소에서 상대 경로가 작동하지 않습니다.

  21. 21

    Material UI Table 구성 요소가 Redux에서 제대로 작동하지 않습니다.

  22. 22

    igraph에서 하위 구성 요소가 실패했습니다.

  23. 23

    CSS Hover가 절대 위치 요소의 계층 구조에서 작동하지 않습니다.

  24. 24

    CSS Hover가 절대 위치 요소의 계층 구조에서 작동하지 않습니다.

  25. 25

    ReactJS : (grand) 하위 구성 요소의 onClick 핸들러가 작동하지 않습니다.

  26. 26

    구성 요소 이름이 동일하면 하위 구성 요소가 다시 호출되지 않습니다.

  27. 27

    하위 구성 요소가 호출되지 않았습니다.

  28. 28

    v 모델이있는 사용자 지정 스위치 구성 요소가 작동하지 않습니다.

  29. 29

    React의 복잡한 중첩 구성 요소가 작동하지 않습니다

뜨겁다태그

보관