props
事件$emit
组件$parent
$children
$refs
$root //根组件 最大组件
import Vue from 'vue'
var bus = new Vue();
export default bus;
bus.$emit
bus.$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)
方法就可以