
thisitems = data; this指向当前的function环境,你试试箭头函数,success:data=>{};或者在get:function(){}下面定义一个 var that = this;。。。thatitems = data;
因为需要对请求到的数据进行处理后在渲染到视图上,所以借助 handleDate 变量来对原始的
数据 data2 进行处理,
如上当 thisdata2 = thishandleDate 时,最后渲染的数据发现 handleDate 的数据也被改变了。
解决方法:
因为
1、在vue中 thisA = thisB,没有进行深层赋值,只是把thisA的地址指向了与thisB相同的地址,所有对于A的修改会影响到B
2、解决相互影响的思路是在thisA必须是新建的一个对象,这样才能保证不被指向同一地址,属性修改不会相互影响。
thisA=JSONparse(JSONstringify(thisB));
将对象转成字符串剔除对象属性后,再转换成对象赋值,这样能解决指向相同地址修改会相互影响的问题。里面的thisA= JSONparse(JSONstringify(thisB)); 如果是直接thisA= thisB的话会把 thisA替换为thisB然后再把thisB赋值给thisA相当于 thisA= thisA所以先转json字符串 再转数组 然后赋值给thisA这样不会相互影响
目标页面接收参数:
目标页面接收参数:
注意:
1、两种方式的区别是query传参的参数会带在url后边展示在地址栏,params传参的参数不会展示到地址栏(/page2id=1)。
2、由于动态路由也是传递params的,所以在 this$routerpush() 方法中path不能和params一起使用,否则params将无效。需要用name来指定页面。
以上就是关于vue 获取数据后 页面循环不显示全部的内容,包括:vue 获取数据后 页面循环不显示、vue关于this.a=this.b,改变this.b的数据问题、vue中this.$router.push路由传参以及获取方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)