可能原因
更新的数据跟源数据不是同一个,即不是同一个引用
解决办法
最稳妥的办法,可通过拿到源数据取索引的方式进行数据的更新,如:
有一个源数据叫:originData
那么如果在更新时,通过this.originData[index].time = newValue
的方式进行更新,而不是item.time = newValue
这样,更新的是源数据,大概率可解决问题。
其他可能的原因及解决办法
-
页面组件重复
解决办法: 给组件加上key='xxx'
xxx确保不要重复
-
部分对象不支持更改,如:scope.row
解决办法: 新建对象let newObj = {...scope.row}
,甚至深拷贝let newObj = JSON.parse(JSON.stringify(scope.row))
-
数据不是双向绑定(重点)
解决办法:响应式更新this.$set(对象, '对象属性', 新值)
特别是如果你向数据列表的对象中添加了自定义属性,那务必使用该方法进行对象的属性设置,这样在本质上,添加的该新属性就声明了是双向绑定的属性。
-
数据层级过深
解决办法:强制更新this.$forceUpdate()
posted @
2023-08-17 19:33
Z哎呀
阅读(
801)
评论()
编辑
收藏
举报
// let homeEle = document.querySelector('body')
// homeEle.setAttribute('id', 'particles-js')
// /* ---- particles.js config ---- */
// particlesJS("particles-js", {
// "particles": {
// "number": {
// "value": 380,
// "density": {
// "enable": true,
// "value_area": 800
// }
// },
// "color": {
// "value": "#ffffff"
// },
// "shape": {
// "type": "circle",
// "stroke": {
// "width": 0,
// "color": "#000000"
// },
// "polygon": {
// "nb_sides": 5
// },
// "image": {
// "src": "img/github.svg",
// "width": 100,
// "height": 100
// }
// },
// "opacity": {
// "value": 0.5,
// "random": false,
// "anim": {
// "enable": false,
// "speed": 1,
// "opacity_min": 0.1,
// "sync": false
// }
// },
// "size": {
// "value": 3,
// "random": true,
// "anim": {
// "enable": false,
// "speed": 40,
// "size_min": 0.1,
// "sync": false
// }
// },
// "line_linked": {
// "enable": true,
// "distance": 150,
// "color": "#ffffff",
// "opacity": 0.4,
// "width": 1
// },
// "move": {
// "enable": true,
// "speed": 6,
// "direction": "none",
// "random": false,
// "straight": false,
// "out_mode": "out",
// "bounce": false,
// "attract": {
// "enable": false,
// "rotateX": 600,
// "rotateY": 1200
// }
// }
// },
// "interactivity": {
// "detect_on": "canvas",
// "events": {
// "onhover": {
// "enable": true,
// "mode": "grab"
// },
// "onclick": {
// "enable": true,
// "mode": "push"
// },
// "resize": true
// },
// "modes": {
// "grab": {
// "distance": 140,
// "line_linked": {
// "opacity": 1
// }
// },
// "bubble": {
// "distance": 400,
// "size": 40,
// "duration": 2,
// "opacity": 8,
// "speed": 3
// },
// "repulse": {
// "distance": 200,
// "duration": 0.4
// },
// "push": {
// "particles_nb": 4
// },
// "remove": {
// "particles_nb": 2
// }
// }
// },
// "retina_detect": true
// });
// var count_particles, stats, update;
// stats = new Stats;
// stats.setMode(0);
// stats.domElement.style.position = 'absolute';
// stats.domElement.style.left = '0px';
// stats.domElement.style.top = '0px';
// document.body.appendChild(stats.domElement);
// count_particles = document.querySelector('.js-count-particles');
// update = function() {
// stats.begin();
// stats.end();
// if (window.pJSDom[0].pJS.particles && window.pJSDom[0].pJS.particles.array) {
// count_particles.innerText = window.pJSDom[0].pJS.particles.array.length;
// }
// requestAnimationFrame(update);
// };
// requestAnimationFrame(update);