使用 A-Frame 进行数据绑定
Databinding with A-Frame
我正在使用 AR.js(A 帧)和 Angular 构建 WebAR。我们有一组数据,想要
当显示具有特定 id 的标记时显示数据。因此我们需要设置一个A场景
带有 a-marker 并且进一步我们想要呈现一个 a-entity。
{
"id": 6,
"name": "Hammer",
"lWartung": "2019-11-30T00:00:00.000Z",
"nWartung": "2019-11-30T00:00:00.000Z"
}
我尝试将 a-marker 的值属性设置为 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: '...'})
任何感兴趣的人。我发现
aframe-typescript-toolkit。让我设置所有属性。
需要考虑的几点:
数据绑定和帧读取 id 之间存在延迟。 A-Frame 将尝试在数据绑定发生之前从 id 中读取。另一个选项是id没有绑定。
尝试以下操作:
<a-marker
id="placeholder_id"
[attr.id]="my_id"
</a-marker>
您可能只需要 attr.id
进行绑定,但如果 id 是标签的必需属性,那么它 必须 在 DOM 在运行时。所以在那里放一个占位符并在通过 attr.id
数据绑定后替换它。占位符 ID 将被覆盖。
我正在使用 AR.js(A 帧)和 Angular 构建 WebAR。我们有一组数据,想要 当显示具有特定 id 的标记时显示数据。因此我们需要设置一个A场景 带有 a-marker 并且进一步我们想要呈现一个 a-entity。
{
"id": 6,
"name": "Hammer",
"lWartung": "2019-11-30T00:00:00.000Z",
"nWartung": "2019-11-30T00:00:00.000Z"
}
我尝试将 a-marker 的值属性设置为 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: '...'})
任何感兴趣的人。我发现 aframe-typescript-toolkit。让我设置所有属性。
需要考虑的几点:
数据绑定和帧读取 id 之间存在延迟。 A-Frame 将尝试在数据绑定发生之前从 id 中读取。另一个选项是id没有绑定。
尝试以下操作:
<a-marker
id="placeholder_id"
[attr.id]="my_id"
</a-marker>
您可能只需要 attr.id
进行绑定,但如果 id 是标签的必需属性,那么它 必须 在 DOM 在运行时。所以在那里放一个占位符并在通过 attr.id
数据绑定后替换它。占位符 ID 将被覆盖。