programing

VUEX가 변환을 찾지 못했지만 정의되어 있습니다.

shortcode 2022. 11. 6. 16:15
반응형

VUEX가 변환을 찾지 못했지만 정의되어 있습니다.

저는 VUEX에서 일하고 있는데, 새로운 돌연변이 "Shipping"을 등록하기 전까지는 모든 것이 괜찮았습니다.커밋할 때마다 "알 수 없는 돌연변이 유형: shipping"이 나타나기 때문입니다.하지만 이전 돌연변이는 정상적으로 작동하기 때문에 이유를 알 수 없습니다.

코드는 다음과 같습니다.

돌연변이:

export function removeAllProducts (state){
    state.cart = []
}

export function shipping(state, cost){
    state.cart.shipping = cost;
};

컴포넌트:

템플릿:

<input type="number" name="cost" :value="shippingCost" @input="updateCost">

스크립트:

computed: {
   ...mapState( 'cart', ['cart'] ),
   ...mapGetters('cart', ['totalItems', 'totalCost', 'shippingCost']),
    shippingCost:{
      get(){ return this.$store.getters.shippingCost; },
    } 
},



     methods: {
     ...mapMutations('cart', ['addProductToCart', 'subtractProductToCart', 'removeProductFromCart', 'removeAllProducts', 'shipping' ]),
     ...mapMutations('routes', ['addRoute']),

      updateCost (e) {
        this.$store.commit('shipping', e.target.value)
      }
   }
}

당신은 당신의 돌연변이를 잘못 부를지도 모릅니다.이 행이 올바른 경우:

...mapMutations('cart', ['addProductToCart', 'subtractProductToCart', 'removeProductFromCart', 'removeAllProducts', 'shipping' ])

그러면 함수가updateCost다음 항목이어야 합니다.

  updateCost (e) {
    this.$store.commit('cart/shipping', e.target.value)
  }

모듈에서 네임스페이스를 true로 설정한 경우.또는 함수는 다음과 같은 기능을 사용할 수 있습니다.

  updateCost (e) {
    this.shipping(e.target.value)
  }

이미 사용하셨기 때문에mapMutations지도를 그리다shipping컴포넌트에 접속합니다.

언급URL : https://stackoverflow.com/questions/56436806/vuex-does-not-find-a-mutation-but-it-is-defined

반응형