1***@163.com
1***@163.com
  • 发布:2021-12-17 17:06
  • 更新:2021-12-17 17:18
  • 阅读:799

引入外部js文件数据 重新赋值后,改变data数据之后,原始的数据也会跟着变

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 2017.8

HBuilderX类型: 正式

HBuilderX版本号: 3.3.1

浏览器平台: Chrome

浏览器版本: 版本 96.0.4664.110(正式版本) (64 位)

项目创建方式: HBuilderX

示例代码:

const a = {  
  list: [  
   {a:'1'},  
   {b:'2'},  
  ],  
};  
export default {  
  a,  
};
import list from './test'  
    export default {  
        data() {  
            return {  
                a:[],  
            }  
        },  
        onLoad() {  
            console.log(list)  
            this.a = list.a  
        },  
        methods: {  
            tab(){  
                this.a.list.push({c:'3'})  
                console.log(this.a.list) //打印数组个数为3  
                console.log(list.a.list) //打印数组个数为3 原始为2   
            },  
        }  
    }

操作步骤:

const a = {  
  list: [  
   {a:'1'},  
   {b:'2'},  
  ],  
};  
export default {  
  a,  
};
import list from './test'  
    export default {  
        data() {  
            return {  
                a:[],  
            }  
        },  
        onLoad() {  
            console.log(list)  
            this.a = list.a  
        },  
        methods: {  
            tab(){  
                this.a.list.push({c:'3'})  
                console.log(this.a.list) //打印数组个数为3  
                console.log(list.a.list) //打印数组个数为3 原始为2  预期为2  
            },  
        }  
    }

预期结果:

预期原始导入的数据永远不会改变,但是我改变数组之后源数据也改变

实际结果:

改变之后原始的数据也会跟着变

bug描述:

引入外部的js文件后 在onload里重新赋值了,之后再改变数据,再打印源数据 数据也变了

2021-12-17 17:06 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复