• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Vue 게시판 vuex 데이터 바인딩 안됨

vuex 데이터 바인딩 안됨

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #42375

    유용환
    참가자
    app.vue
    
    <div v-if="$store.commit('users')">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0" style="margin-left:12vw">
            <li class="nav-item">
              Thank-{{$store.commit('new_users')}}
            
            <li class="nav-item">
              로그아웃
            
            
          </div>
    
    
    login.vue
    
    methods : {
        enuser(){
          firebase.auth().signInWithEmailAndPassword(this.enuser_email, this.enuser_pw).then(()=>{
          alert('login complete');
          this.$store.commit('users')
          this.$router.push('/');
          
          
      }).catch(()=>{
        alert('login failed')
      })
    }
        }
    
    store.js
    
    
    import { createStore } from 'vuex'
    const store = createStore({
      state(){
        return {
          todo : false,
          new_us : 0, 
        }
      },
      mutations : {
        users(state){
          state.todo = true
        },
        new_users(state){
          state.new_us++
        }
      },
    })
    export default store
    
    이렇게 했을때 사용자가 로그인을 하면 store.js의 users 함수를 사용하여 login.vue에서 todo : false를 true로 바꾸게 한후
    app.vue에서 todo : true이면 해당 html을 보여주도록 하려고 하는데 실행하면 아무것도 나오지 않습니다.
    경고나 에러문도 나오지 않는데 어떻게 해야하나요 아예 조건에 만족했을때의 html이 동작을 안합니다.
    #42425

    codingapple
    키 마스터
    true로 실제로 바뀌는지 출력부터 해봅시다 
    
    #42477

    유용환
    참가자
    login.vue에서 console.log로 출력해봤더니 true가 나옵니다. 
    app.vue 에서  v-if="$store.commit('users')" 일때 해당 html이 안나옵니다.
    위의 조건이 맞으니까 해당 html이 나와야하는거 아닌가요
    #42587

    codingapple
    키 마스터
    store데이터 출력하려면 $store.state.어쩌구입니다
    #42624

    유용환
    참가자
    store.js의 저장된 값을 변경하려면 mutation함수에 함수를 만들고 그것을 사용해야 하는거아닌가요
    #42762

    codingapple
    키 마스터
    state가 true일 경우 html을 보여주고 싶으면 state 출력해서 그게 true인지 등호로 검사하면 됩니다
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠