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

VUE代码中的window.data是用来做什么的?

VUE代码中的window.data是用来做什么的?

拉丁的传说 2019-02-13 17:16:59
不理解为什么要给一个window.data而不是直接返回data?原始代码链接在这里:https://github.com/PacktPubli...window.data = {  isworking: true};export default {  components: {    ControlsComponent,    CountdownComponent,    KittensComponent,    StateTitleComponent  },  data() {    return window.data   //这里直接使用data不行么?  }}</script>因为window的解释在这里:http://www.w3school.com.cn/js...Window 对象描述 Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写document,而不必写 window.document。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

window 是一个全局对象 这么做可能是为了在全局获取这个组件中的 data 吧

省略 window 会先从当前作用域中寻找 data,如果找不到则在 window 对象上寻找

如果 window 对象上也没有 data 则会返回 undefined

在你这个代码中当然 window.data === data 是相等的


window.data = { location }


function fn () {

  const data = { un: '', pwd: '' } // 局部定义了同名 data 变量

  console.log(data) // { un: '', pwd: '' }

  console.log(window.data) // { location: Location }

  console.log(window.data === data) // false

}


fn()

window.data = { location }


function fn () {

  console.log(data) // { location: Location }

  console.log(window.data) // { location: Location }

  console.log(window.data === data) // true

}


fn()


查看完整回答
反对 回复 2019-02-26
  • 1 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信