概述
今天开发遇到一个问题,在函数中声明一个变量来(通过=)接收data中的对应的一个变量,但是改变申明的这个变量后原变量的字段也会一同改变,formData中的值直接和表单绑定的,直接做加密密码栏就会变成32位加密后的字符串,看着不太合适所以用新对象接收并完成加密来解决这个问题,于是就出现了这种值传递和引用传递的区别理解
这样看来就很类似java中的引用传递,改变会直接影响带源数据,
data() {
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中 = 和 : 赋值的差异,引用传递和值传递所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复