为了账号安全,请及时绑定邮箱和手机立即绑定

关于模块导出的 data 和 store 的两个问题

  1. 请问这两种 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 回答

 1. 第一个问题,参考:data 必须是一个函数

第一个写法只能在ES5环境中去使用,在CLI创建的工程项目中,会编译异常。

最主要的原因:是data的作用域的问题。举例说明:如果是有多个Vue实例,那么data按照对象的方式去定义,都是同一个作用域,导致data相互覆盖,不唯一。而变成函数之后,就只能在本Vue实例里面可以进行访问了。

2. 第二个问题。

如果在全局的App.vue的main.js中引入了store,那么store是可以全局使用的。

或者按照上面的写法,你可以在单独的组件中引用store,变成局部引用。即局部与全局的引用区别!!

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于模块导出的 data 和 store 的两个问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信