Vue Data里面下划线命名无效并报错

使用下划线命名

1
2
3
data () {
_checked: false
}

产生报错

[Vue warn]: Property or method "_check" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

原因

_$ 开头的属性 不会Vue 实例代理,因为它们可能和 Vue 内置的属性、API 方法冲突。你可以使用例如 vm.$data._property 的方式访问这些属性。

具体参考: 官方文档中的解释

解决方法

按规矩办事

1
2
3
data () {
isChecked: false
}