絮絮叨叨的需求: 就是我们自己的工程嵌套在别的工程里面,不同页面之间用的同一个组件,我改了其中一个页面的组件的值,打印的当前页面监听的vuex里面值是改变了,视图没更新(也就是我改了值之后,当前页面的vuex改变了(其他页面的vuex可能没变也可能是改变了没被监听到),视图没变,后来百度发现vuex如果是嵌套在iframe都有这种问题,失去了原本的作用,应该监听到改变之后要同步数据才对
// 然后说这种情况要用storage,话不多说,上代码(我存的localStorage)
<template></template>
<script>
export default ({
name:'cardPro',
data () {
return {
disabled: false,
handInput: '',
handInputEncode: ''
}
},
created () {
// 监听localStorage缓存
let _this = this // 处理箭头函数指向
window.onstorage = (e) => {
let cardList = C.Storage.getStorage('currentCard') // 取localStorage里面的对象
_this.handInput = cardList.cardNbr // 展示的值
_this.handInputEncode = cardList.cardNbr_Encode // 传给后端接口的加密值
}
},
//方法
methods: {
onChange() {
C.Storage.setStorage('currentCard', this.currentCard)
// 组件里面切换的时候存入缓存(每个项目存取的方法稍有不同,用自己的就可以)
//this.currentCard是在上面有监听,值改变会拿到最新的list这里就不写了
}
}
})
</script>