今天开发遇到一个问题,在函数中声明一个变量来(通过=)接收data中的对应的一个变量,但是改变申明的这个变量后原变量的字段也会一同改变,formData中的值直接和表单绑定的,直接做加密密码栏就会变成32位加密后的字符串,看着不太合适所以用新对象接收并完成加密来解决这个问题,于是就出现了这种值传递和引用传递的区别理解
这样看来就很类似java中的引用传递,改变会直接影响带源数据,
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25data() { return { formData: { username: 'admin', password: 'xxxxxxxxxxx' } } }, methods:{ login(){ let that = this; let url = '/system/login' // 这样的就类似与java中的new 对象一样,只会改变loginInfo中的 // 内容不会影响到formData中的内容 let loginInfo = { username: that.formData.username, password: CryptoJS.MD5(that.formData.password).toString() } // 类似引用传递 let data = that.formData data.password = CryptoJS.MD5(that.formData.password).toString() } }
最后
以上就是坦率蜡烛最近收集整理的关于Vue中 = 和 : 赋值的差异,引用传递和值传递的全部内容,更多相关Vue中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复