vuex中v-model的参数问题

1.在欢迎页的页面需要将的值作为参数set到state里面去,但是不太清楚怎样传参

welcome.vue

<template>
    <div class="welcome">
           <h1>WELCOME TO YICHAT</h1>
           <input type="text" v-model="uname"placeholder="YOUR NICKNAME" class="nickname">
          <div class="entry-btn" @click='setuser' v-link="'/chat'">进入</div>
       </div>
</template>
<script>
    import * as actions  from '../../vuex/action.js'
    export default{
        vuex: {
            actions:actions
        }
    }
</script>

actions.js

export const setuser = ({ dispatch },data) => {
  dispatch('SET_USER',data);
}

store.js

import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'

Vue.use(Vuex)
const mutations = {
    SET_USER(state,data){
        const newuser = {
          uname:"username",  //这里的数据暂时是写死的,就是想从data中获取数据
          active:false
    }
    state.users.push(newuser)
    state.curuser = newuser
  },
}

export default new Vuex.Store({
  state,
  mutations
})
阅读 5.6k
2 个回答

在属于 Vuex 的 state 上使用 v-model 会比较棘手
参见:表单处理

template改改?

<template>
    <div class="welcome">
           <h1>WELCOME TO YICHAT</h1>
           <input type="text" v-model="uname" placeholder="YOUR NICKNAME" class="nickname">
          <div class="entry-btn" @click='setuser(uname)' v-link="'/chat'">进入</div>
       </div>
</template>
<script>
    import * as actions  from '../../vuex/action.js'
    export default{
        vuex: {
            actions:actions
        }
    }
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进