我在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秒。
答案 0 :(得分:0)
我自己解决了这个问题 我刚刚改变了
canvas.fabric._objects.length = 0;
到
canvas.fabric._objects = [];
刚刚解决了。