Javascript 如何防止VueJs在DOM完全装载之前更新数据 导出默认值{ 数据(){ 返回{ 频道:channelz.Root.channels.Channel, 当前索引:1, 栏目号:9, 行数:7, 窗口:{ 宽度:0, 身高:0 } }; }, 安装的(){ window.addEventListener('resize',this.handleResize); window.innerWidth

Javascript 如何防止VueJs在DOM完全装载之前更新数据 导出默认值{ 数据(){ 返回{ 频道:channelz.Root.channels.Channel, 当前索引:1, 栏目号:9, 行数:7, 窗口:{ 宽度:0, 身高:0 } }; }, 安装的(){ window.addEventListener('resize',this.handleResize); window.innerWidth,javascript,vue.js,Javascript,Vue.js,我试图操纵并查找flexbox中项目的列号和行号。我试图通过这个的属性来找到它。$refs属性,正如您在上面的代码中看到的。不幸的是,checkAndChangeColumnRow函数在项目完全呈现之前更新它 编辑:通过在已装入的中添加事件侦听器解决了此问题。它在一行中调用同一个函数两次,并在第二次回调中给出正确的输出 mounted() { window.addEventListener('resize', this.handleResize); window.addEv

我试图操纵并查找flexbox中项目的列号和行号。我试图通过这个的属性来找到它。$refs属性,正如您在上面的代码中看到的。不幸的是,checkAndChangeColumnRow函数在项目完全呈现之前更新它

编辑:通过在已装入的中添加事件侦听器解决了此问题。它在一行中调用同一个函数两次,并在第二次回调中给出正确的输出

 mounted() {
     window.addEventListener('resize', this.handleResize);
     window.addEventListener('load',this.checkAndChangeColumnRow);
     window.innerWidth < 1200 ? (console.log("Width çok azmış yaa"),this.handleResize()) : console.log("Window size hasn't changed!");
  },
  destroyed() {
    window.removeEventListener('resize', this.handleResize);
    window.removeEventListener('load',(this.checkAndChangeColumnRow,console.log("Event has been detached.")));
  },
mounted(){
window.addEventListener('resize',this.handleResize);
window.addEventListener('load',this.checkAndChangeColumnRow);
window.innerWidth<1200?(console.log(“Widthçok azmışyaa”),this.handleResize()):console.log(“窗口大小没有改变!”);
},
销毁(){
window.removeEventListener('resize',this.handleResize);
window.removeEventListener('load',(this.checkAndChangeColumnRow,console.log(“事件已分离”));
},

它将其更新为奇异数字什么将其更新为“奇异数字”?什么是“奇怪的数字”?例如,它本应将列数更新为15,将行数更新为4,但它将列数更新为25和3,从而破坏程序的流程。为什么是15和4?请解释为什么你们认为某些条件会产生这些值——也许你们的数学是错误的——它和在不希望的时间调用函数有关。我认为这个函数比预期的要早。我如何解决这个问题?在安装组件时会调用该函数-这让您觉得“太早了”-我仍然认为您的计算可能是错误的,但您仍然没有说明为什么它应该是15和4,而它是25和3-什么条件(除了
window.innerWidth<1200
)会导致15和4?i、 e.它与
这个频道和
这个频道有关。$refs[i][0][y']
但不清楚原因