收藏
回答

页面数据未setData也变化?

       let tempData = this.data.queryRes[0]
    tempData.pageName = pageName
    tempData.isAuthorization = isAuthorization
    tempData.dbName = dbName
    tempData.thumDbName = thumDbName
为什么调试器里AppData里this.data.queryRes[0]也被添加了4个字段?
回答关注问题邀请回答
收藏

5 个回答

  • abc
    abc
    2019-12-18

    原来还可以这样定义页内数据,学到了

    2019-12-18
    有用 1
    回复
  • Code Weaver
    Code Weaver
    2019-12-19

    这样写 只是单纯的赋值,DATA里会变,但是并不会渲染到页面上。

    2019-12-19
    有用
    回复
  • 老张
    老张
    2019-12-19
    在JS里这难道不是正常的吗?tempData和this.data.queryRes[0]指向相同的地址,改一个,另一个当然也变化。
    


    2019-12-19
    有用
    回复 2
    • 2019-12-19
      不知道为什么这样.我的理解定义一个变量有一个新地址的
      2019-12-19
      回复
    • 老张
      老张
      2019-12-20回复
      因为JS就是这样的啊,多好用的一个特性啊。
      2019-12-20
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-12-19

    let tempData = Object.assign([], this.data.queryRes[0])

    2019-12-19
    有用
    回复 1
    • 2019-12-19
      谢谢,没问题了
      2019-12-19
      回复
  • 我是小肥
    我是小肥
    2019-12-19

    把this先用that替换了试试?你直接用this指向了那个地址了吧,应该是这样,你实测一下?

    let that = this

    lettempData = that.data.queryRes[0]
        tempData.pageName = pageName
        tempData.isAuthorization = isAuthorization
        tempData.dbName = dbName
        tempData.thumDbName = thumDbName
    


    2019-12-19
    有用
    回复 2
    • 2019-12-19
      这样也试过的,还是会变,楼上的方法有效.
      2019-12-19
      回复
    • 我是小肥
      我是小肥
      2019-12-20回复
      嗯,就是地址问题。
      2019-12-20
      回复
登录 后发表内容
问题标签