如何避免指令中的引用错误

问题描述 投票:0回答:2

有没有办法避免 v-if 中的长时间检查(以及其他指令,但主要是关于 v-if),例如:

... v-if="user && user.data && user.data.password"

我的意思是,如果

user
null
那么我会在没有这样的检查的情况下得到引用错误。

是否可以在整个应用程序中注册自己的修饰符? 类似于

... v-if.noDataAsFalse="user.data.password" 

我可以使用像 lodash 的 _.get() 这样的全局助手,但想找到更多声明性的方式来实现相同的结果。

vuejs2
2个回答
1
投票

我认为这是目前在 Vue 中执行此操作最直接的方法。

在 Angular 5 中(是的,这里是 5),他们有一个所谓的 elvis 运算符(object?.prop?.anotherProp),它允许安全的对象遍历。

这个想法是在 Vue Github 页面上提出的,但 Vue 的创建者有一些强有力的论据反对它。您可以在这里阅读更多内容。


0
投票

你可以这样写

v-if="user?.data?.password"
© www.soinside.com 2019 - 2024. All rights reserved.