Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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
Javascript 如果对象可以未定义,如何基于属性有条件地渲染(v-if)?_Javascript_Firebase_Vue.js - Fatal编程技术网

Javascript 如果对象可以未定义,如何基于属性有条件地渲染(v-if)?

Javascript 如果对象可以未定义,如何基于属性有条件地渲染(v-if)?,javascript,firebase,vue.js,Javascript,Firebase,Vue.js,请注意,父级是先前定义的firebase引用 这没关系: v-if="parent['key'] == foo" 但这是: v-if="parent['key'].child('somechild') == bar" 正在引发以下错误: [Vue warn]:呈现时出错:“TypeError:无法读取未定义的属性“child” 请在引用之前尝试保护: v-if="(parent['key'] && parent['key'].child('somechild')) == ba

请注意,父级是先前定义的firebase引用

这没关系:

v-if="parent['key'] == foo"
但这是:

v-if="parent['key'].child('somechild') == bar"
正在引发以下错误:

[Vue warn]:呈现时出错:“TypeError:无法读取未定义的属性“child”


请在引用之前尝试保护:

v-if="(parent['key'] && parent['key'].child('somechild')) == bar"

谢谢@acdcjunior。错误已停止,但它现在不符合条件
v-if=“(parent['key']&&parent['key'].child('uid'))==user.uid“v-for=”parent in buildings“
,即使子项('uid')与用户不同。uid vue正在呈现数据库中的所有父项。我已将您的答案标记为正确。当
parent['key']
未定义时,表达式
(parent['key']和&parent['key'].child('uid')
返回
未定义的
。因此,如果正在呈现它,则可能
user.uid
undefined
null
。为了调试,我会在某个地方添加类似的内容:
child:{(parent['key']&&parent['key'].child('uid'))}-user:{{user.uid}}
,这样您就可以看到它被认为完全相等的内容。是的。
user.uid
未定义。我正在使用vuefire/firebase。您是否知道如何让当前用户从一个类似于在创建之前创建的
created
的钩子中获取反应式
数据
?我是这样做的:`
beforeCreate(){this.$store.dispatch('setUser');let user=this.$store.getters.getUser;console.log(user);//我已经创建了一个包含所有信息的问题: