vue props传值常见问题
Posted qianxiaox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue props传值常见问题相关的知识,希望对你有一定的参考价值。
传入的值想作为局部变量来使用,直接使用会 报错。错误是说的避免直接修改父组件传入的值,因为会改变父组件的值
资源搜索网站大全https://55wd.com 广州品牌设计公司http://www.maiqicn.com
解决方案:
可以在data中重新定义一个变量,改变指向,但是也只是针对简单数据类型,因为复杂数据类型栈存贮的是指针,
props:[‘listShop‘],
data(){
return{
listShopChild:this.listShop
}
},
created(){
this.listShopChild=30
}
对复杂数据类型,
1. 可以手动深度克隆一个复杂的数据出来,循环或者递归都行
//数组
var x = [1,2,3];
var y = [];
for (var i = 0; i < x.length; i++) {
y[i]=x[i];
}
console.log(y); //[1,2,3]
y.push(4);
console.log(y); //[1,2,3,4]
console.log(x); //[1,2,3]
//对象
var x = {a:1,b:2};
var y = {};
for(var i in x){
y[i] = x[i];
}
console.log(y); //Object {a: 1, b: 2}
y.c = 3;
console.log(y); //Object {a: 1, b: 2, c: 3}
console.log(x); //Object {a: 1, b: 2}
2. Object.assign (看情况使用)
只会对只是一级属性复制,比浅拷贝多深拷贝了一层而已,所以还是无法达到深度克隆的目的.
3. 强大的jsON.stringify和jsON.parse
const obj1 = JSON.parse(JSON.stringify(obj))
以上是关于vue props传值常见问题的主要内容,如果未能解决你的问题,请参考以下文章