props事件$emit组件$parent$children
$refs
$root //根组件 最大组件
import Vue from 'vue'var bus = new Vue();export default bus; bus.$emitbus.$on(eventname,callback) 监听事件bus.$emit(eventname,data)发送事件bus.$off(eventname)移除事件import Vue from 'vue' //导入
import Vuex from 'vuex'
Vue.use(Vuex) //使用
export default new Vuex.Store({ //创建store对象
state: {
},
getters: {
},
mutations: {
},
actions: {
},
modules: {
}
})
//(4).将store对象挂载到vue实例中
new Vue ({
el: '#app',
render: h => h(app) ,
router ,
//将创建的共享数据对象,挂载到vue实例中,所有的组件,就可以直接从store 中获取全局的数据了
store
})
// store仓库 ,state状态(数据),getters获取器,
// mutations变异改变,actions动作 ,modules模块
$store.state.xxx访问
SET_SCORE(state,data){}
$store.commit("xxx",data)
changeScore(context,data){
//在actions中访问mutations
context.commit(“SET_SCORE”,data)
}
$store.dispatch("xxx",data)
level(state){
return state.user.score/100
}
$store.getters.xxx
store/moudules/userjs actions中loginView.vue页面执行登录store/modules/user.js实现注销$store.dispatch("login",data) 方法就可以