使用vuex状态管理,想将数据库里的数据传入前台,可是没有反应:
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'
Vue.use(Vuex)
const store = new Vuex.Store({
state : {
songs: []
},
actions : {
GetSongs: function({ commit }) {
axios.get('http://localhost:3000/admin/allmusic')
.then((res) => {
commit('GiveSongs', {list: res.data})
},
(err) => {
console.log(err);
})
}
},
mutations : {
GiveSongs: (state, { list }) => {
state.songs = list
}
},
getters : {},
moudles : {}
})
export default store
这是store.js文件 get值没问题
<script>
import { mapState } from 'vuex'
export default {
name: 'Main',
data() {},
methods:{},
computed:mapState([
'songs'
])
}
</script>
这是组件里的script,引入了mapState
<ul>
<li v-for="item in songs">
<div class="">
<img v-bind:src='item.src' alt="">
<a href="#" class="submenu"></a>
<div class="btn">
<a href="javascript:;" class="playbtn"></a>
<span class="slogo"></span>
<span class="snub">{{item.id}}</span>
</div>
</div>
<p>{{item.name}}</p>
</li>
</ul>
这是html,对照着文档看了好些遍,不知大问题出在哪里了,就是渲染不出来,摆脱给看看,谢谢哈
试试