角度附加很快但是破坏很慢(1秒)

时间:2017-08-28 17:53:41

标签: javascript angularjs

我在html列表和fabricjs对象列表之间建立了链接 这是html代码

<div ng-repeat = "object in objects">
   {{objects.length.toString()}}
   {{object.name}}
</div>

这是角度代码。

$rootScope.$watch(
  function(scope){
   return canvas.fabric._objects;
  },
  function(newValue, oldValue){
   $timeout(function(){
     $rootScope.$broadcast('_object:changed');
  }
});

$rootScope.$on('_object:changed', function(){
  $scope.objects = canvas.fabric._objects;
});

如果我将对象添加到结构,它会立即通过角度显示在html列表中但是如果我删除了一个或全部,它会在一秒钟后刷新。 删除代码实现

canvas.fabric._objects.length = 0;

有没有人遇到过这种问题?如何在0.01秒内完成刷新?

更新:我发现刷新速度非常快,但删除的一个会在1秒后隐藏。

结果:如果我从列表中删除“book”([“home”,“book”,“pen”])

   init  :3home,3book,3pen  
   0.01s :2home,3book,2pen  
   1s:    2home,2pen  

0.01s  2是列表长度。  即使角度被刷新并且对象列表值改变,也存在3book直到接下来的1秒。

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题 我刚刚改变了

canvas.fabric._objects.length = 0;

canvas.fabric._objects = [];

刚刚解决了。