0xCalorie
2019-05-19 18:02
请问这两种 data 的使用区别是什么?第一个代码块会导致运行不符合预期
data: { message: store.state.count }
data () { return { message: store.state.count } }
2. 这里的 store 是干啥用的?去除掉 store 后功能也是正常的
name: 'About', store, data () { return { message: store.state.count } }
谢谢 ?
1. 第一个问题,参考:data 必须是一个函数
第一个写法只能在ES5环境中去使用,在CLI创建的工程项目中,会编译异常。
最主要的原因:是data的作用域的问题。举例说明:如果是有多个Vue实例,那么data按照对象的方式去定义,都是同一个作用域,导致data相互覆盖,不唯一。而变成函数之后,就只能在本Vue实例里面可以进行访问了。
2. 第二个问题。
如果在全局的App.vue的main.js中引入了store,那么store是可以全局使用的。
或者按照上面的写法,你可以在单独的组件中引用store,变成局部引用。即局部与全局的引用区别!!
3小时速成 Vue2.x 核心技术
82579 学习 · 489 问题
相似问题