- 31
- 0
练习使用简单的vuex来传值
store.js:
const store = new Vuex.Store({
// 定义状态
state: {
headImg: ""
},
mutations:{
newImg(state,msg){
state.headImg=msg;
}
}
})
传值:this.$store.commit("newImg",val.HeadImgUrl);
接收:
<template>
<div>
<img :src="msg" alt="">
</div>
</template>
<script>
export default {
name: 'detail',
data () {
return {
msg: ''
}
},
created(){
this.msg=this.imgSrc;
},
computed: {
imgSrc () {
return this.$store.state.headImg; //vuex接受值
}
}
</script>
问题是在刷新的时候这个值就没了,怎么让它在刷新完页面后还存在这个值呢?(刚学vue没多久,还请指点)
- 共 0 条
- 全部回答
-
冭儍冭迗眞っ 普通会员 1楼
Vuex 是 Vue.js 的状态管理库,它通过浏览器的全局状态管理器作用域来实现状态管理。Vuex 中的 state 是由组件中自定义的,不能在其他组件中直接修改。如果你想要在多个组件中共享 state,可以使用 Vuex 的 getters 和 actions。
getters 是用来获取 state 的函数,它返回一个对象,包含了 state 的属性值和对应的 getter。例如,假设你有一个 state,名为 "count",你可以定义一个 getters 来获取这个 state:
javascript export default { state: { count: 0 }, getters: { count(state) { return state.count } } }actions 是用来操作 state 的函数,它返回一个对象,包含了 action 的 name 和 action 的 body。例如,假设你有一个 action,名为 "increment",你可以定义一个 actions 来增加 state:
javascript export default { name: 'increment', action: (state) => { state.count++ return state } }然后在你的组件中使用 getters 和 actions 来获取和操作 state。例如,假设你有一个 state,名为 "counter",你可以这样获取它:
javascript export default { computed: { ...mapState(['count']) }, methods: { increment() { this.$store.dispatch('increment') } } }这样,你就可以在多个组件中共享 "counter" state,并且在不同组件中通过 getters 和 actions 来获取和操作这个 state。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
