0
我對canvas應用程序使用了fabricJS和angular2。我正在將一個SVG對象加載到畫布上,我想返回SVG中的所有對象。在角度回調中將對象追加到數組的正確方法
在此回調中,返回一個對象並將其推送到數組上。在函數調用SVG中的所有元素之後,我以包含構成我的SVG的10個對象的數組結束。所有這一切都很好。
我打算做的是使用ngFor來顯示錶格中的所有對象的屬性組織。
private allLayersArray: any = [];
}, function (item, object) {
object.set('id', item.getAttribute('id'));
group.push(object); //local array in parent function
if(this.selectedJersycut)
this.bindCanvas();
this.allLayersArray = group; //set all layers variable to group
console.log(this.allLayersArray);
//prints correctly after 10 loops, but values dont update in view
});
在這一點上,group
有10個對象,我想它分配給私有組件變量allLayers
視圖來填充。但是,當我console.log(allLayersArray)
時,正確的陣列對象正在打印到控制檯。
查看代碼:
<tr *ngFor="let layer of allLayersArray | async">
<td>
{{layer}}
{{layer.id}}
</td>
<td>
Jersey Body
</td>
<td>
<input type="radio" value="Yes"/>
<input type="radio" value="No"/>
</td>
</tr>
我可以用一個可觀察在這種情況下?雖然我在視圖中使用異步管道,但數據仍未填充。我錯過了什麼嗎?訂閱方法是否與Observable一起使用?
所有幫助表示讚賞。謝謝!!
我認爲這裏的問題是變化檢測。你有一個數組,其中的大小是變化,但角度不知道。嘗試在添加完所有項目或閱讀變更檢測後重置對數組的引用。 – getbuckts