有没有办法避免 v-if 中的长时间检查(以及其他指令,但主要是关于 v-if),例如:
... v-if="user && user.data && user.data.password"
?
我的意思是,如果
user
是 null
那么我会在没有这样的检查的情况下得到引用错误。
是否可以在整个应用程序中注册自己的修饰符? 类似于
... v-if.noDataAsFalse="user.data.password"
我可以使用像 lodash 的 _.get() 这样的全局助手,但想找到更多声明性的方式来实现相同的结果。
我认为这是目前在 Vue 中执行此操作最直接的方法。
在 Angular 5 中(是的,这里是 5),他们有一个所谓的 elvis 运算符(object?.prop?.anotherProp),它允许安全的对象遍历。
这个想法是在 Vue Github 页面上提出的,但 Vue 的创建者有一些强有力的论据反对它。您可以在这里阅读更多内容。
你可以这样写
v-if="user?.data?.password"