我正在使用AR.js(A框架)和Angular构建WebAR。我们有一系列数据,并希望 当显示具有特定ID的标记时,显示数据。因此,我们需要设置一个A场景 与一个标记,进一步,我们想提出一个实体。
{
"id": 6,
"name": "Hammer",
"lWartung": "2019-11-30T00:00:00.000Z",
"nWartung": "2019-11-30T00:00:00.000Z"
}
我试图将a-marker的value属性设置为maschine.id,但没有成功。这对于实体也无效。
<a-scene id='scene1' embedded arjs='sourceType: webcam; debugUIEnabled: true; detectionMode: mono_and_matrix; matrixCodeType: 3x3;'>
<ng-container *ngIf="maschinen.length > 0">
<ng-container *ngFor="let maschine of maschinen" >
<pre>
{{maschine | json}}
</pre>
<a-marker [id] = "'M'+ maschine.id" type='barcode' >
<a-entity [id] = "'E'+ maschine.id"
geometry="primitive: plane; width: auto; height: auto"
material="color: #213d4a"
>
</a-entity>
</a-marker>
</ng-container>
</ng-container>
例如,我也不能将多属性组件的属性设置为文本。
entity.setAttribute('text',{value: '...'})
答案 0 :(得分:0)
对于任何有兴趣的人。我发现 aframe-typescript-toolkit。 Wich让我设置所有属性。
答案 1 :(得分:0)
要考虑的几件事:
数据绑定与a帧读取id之间存在延迟。在数据绑定发生之前,A-Frame会尝试从ID读取。另一个选择是ID没有绑定。
尝试以下操作:
<a-marker
id="placeholder_id"
[attr.id]="my_id"
</a-marker>
您可能只需要使用attr.id
进行绑定,但是如果id是标记的必需属性,则它必须在运行时位于DOM中。因此,在attr.id
数据绑定之后将占位符放到那里,然后替换它。然后,占位符ID将被覆盖。