使用 VueJS 在 while 循环中更新数据

Posted

技术标签:

【中文标题】使用 VueJS 在 while 循环中更新数据【英文标题】:Update data in while loop using VueJS 【发布时间】:2021-05-24 01:30:57 【问题描述】:

所以我想要的只是在一个方法中使用一个while循环来改变这个对象,我从一个按钮事件中调用它。 我唯一的问题是 cameraPosition 数据在我在循环中递增时不会改变,它只会在函数结束时改变值。

任何帮助将不胜感激!

data() 
  return 
    cameraPosition:  x: 0, y: 0, z: -60 
  methods: 
    sleep(milliseconds) 
     const date = Date.now();
     let currentDate = null;
     do 
       currentDate = Date.now();
      while (currentDate - date < milliseconds);
    ,

   animation(destinationPos) 
     while (this.cameraPosition.z < destinationPos.z) 
       this.cameraPosition.z = this.cameraPosition.z + 1;
       sleep(200)
   
  ,
 

【问题讨论】:

【参考方案1】:

你的睡眠方法被阻塞了。

使函数异步。 改用这个:

   async animation(destinationPos) 
     while (this.cameraPosition.z < destinationPos.z) 
       this.cameraPosition.z = this.cameraPosition.z + 1;
       await new Promise(r => setTimeout(r, 2000));
   

https://***.com/a/39914235/5671919

【讨论】:

非常感谢!

以上是关于使用 VueJS 在 while 循环中更新数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 While 循环内的多个输入元素和 While 循环外的单个提交按钮更新 MySQL 数据库

VueJS在循环中更新变量

c#中的for和while循环

为啥 sudo 在 while 循环中使用时将阻塞命令更改为非阻塞命令?

如何将变量值从循环A更新到另一个循环B - 在bash中

如何使用 while 循环更新行?