Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 观看vuex状态不会让我访问它';s值_Vue.js_Vuex - Fatal编程技术网

Vue.js 观看vuex状态不会让我访问它';s值

Vue.js 观看vuex状态不会让我访问它';s值,vue.js,vuex,Vue.js,Vuex,在我的store.js中,我有: 状态:{ 用户:false }, 我没有使用getters,User一旦被设置,它将成为一个对象。在我的组件中,我有: 导出默认值{ 名称:“对话列表”, mixin:[会话mixin], 计算:{ …映射状态([“用户”]) }, 数据:()=>{ 返回{ 对话:错, 日期转换:false }; }, 观察:{ 用户:{ 立即:是的, 处理程序(newVal、oldVal){ console.log(newVal、oldVal); 但是newVal不是一个

在我的
store.js
中,我有:

状态:{
用户:false
},
我没有使用
getters
User
一旦被设置,它将成为一个对象。在我的组件中,我有:

导出默认值{
名称:“对话列表”,
mixin:[会话mixin],
计算:{
…映射状态([“用户”])
},
数据:()=>{
返回{
对话:错,
日期转换:false
};
},
观察:{
用户:{
立即:是的,
处理程序(newVal、oldVal){
console.log(newVal、oldVal);
但是
newVal
不是一个具有简单属性的对象。它们似乎是函数: 如何将它们作为常规属性访问


像访问普通属性一样访问它们:

脚本
中访问它:

const email=User.email
模板中访问它


{{User.email}
Vue将getter和setter应用于每个属性,以实现其反应性。从上面的代码中可以看到,每个属性都使用getter和setter进行初始化,因此每次更改时,Vue都可以重新提交模板的相应部分


我建议您阅读有关和的内容。

Maxbe仅供参考:如果要将
watcher
设置为对象,则必须使用
deep:true
。此外,如果您正在监视对象或数组,则参数
oldVal
newVal
不可用。请参阅上面的。