【发布时间】:2020-02-28 12:44:17
【问题描述】:
编辑:这是一个静态 HTML 文件中的 Web 组件,我只是使用 Angular 来编译它。
我正在尝试使用 Angular Elements,并创建了一个 Web 组件,它是一个简单的 NgFor,其输入来自 JSON 文件。
<div *ngFor="let name of names | keyvalue" (click)="onClick(name)">
{{name.value | json}}
</div
JSON
[
{
"id":1,
"name": "star 1",
"image":"https://picsum.photos/id/1059/400/400",
"text":"Text about star 1"
},
{
"id":2,
"name": "star 2",
"image":"https://picsum.photos/id/1060/400/400",
"text":"Text about star 2"
},
{
"id":3,
"name": "star 3",
"image":"https://picsum.photos/id/1061/400/400",
"text":"Text about star 3"
},
{
"id":4,
"name": "star 4",
"image":"https://picsum.photos/id/1062/400/400",
"text":"Text about star 4"
},
{
"id":5,
"name": "star 5",
"image":"https://picsum.photos/id/1063/400/400",
"text":"Text about star 5"
},
{
"id":6,
"name": "star 6",
"image":"https://picsum.photos/id/1064/400/400",
"text":"Text about star 6"
},
{
"id":7,
"name": "star 7",
"image":"https://picsum.photos/id/1065/400/400",
"text":"Text about star 7"
},
{
"id":8,
"name": "star 8",
"image":"https://picsum.photos/id/1066/400/400",
"text":"Text about star 8"
},
{
"id":9,
"name": "star 9",
"image":"https://picsum.photos/id/1067/400/400",
"text":"Text about star 9"
},
{
"id":10,
"name": "star 10",
"image":"https://picsum.photos/id/1068/400/400",
"text":"Text about star 10"
}
]
在浏览器中输出
{ "id": 1, "name": "star 1", "image": "https://picsum.photos/id/1059/400/400", "text": "Text about star 1" }
{ "id": 2, "name": "star 2", "image": "https://picsum.photos/id/1060/400/400", "text": "Text about star 2" }
{ "id": 3, "name": "star 3", "image": "https://picsum.photos/id/1061/400/400", "text": "Text about star 3" }
{ "id": 4, "name": "star 4", "image": "https://picsum.photos/id/1062/400/400", "text": "Text about star 4" }
{ "id": 5, "name": "star 5", "image": "https://picsum.photos/id/1063/400/400", "text": "Text about star 5" }
{ "id": 6, "name": "star 6", "image": "https://picsum.photos/id/1064/400/400", "text": "Text about star 6" }
{ "id": 7, "name": "star 7", "image": "https://picsum.photos/id/1065/400/400", "text": "Text about star 7" }
{ "id": 8, "name": "star 8", "image": "https://picsum.photos/id/1066/400/400", "text": "Text about star 8" }
{ "id": 9, "name": "star 9", "image": "https://picsum.photos/id/1067/400/400", "text": "Text about star 9" }
{ "id": 10, "name": "star 10", "image": "https://picsum.photos/id/1068/400/400", "text": "Text about star 10" }
我想要做的是访问此对象中的属性,因此当我单击其中一个属性时,它会使用图像值中的源更新另一个元素的 img src。
如果我返回模板并尝试使用 {{name.value.image}} 我会收到错误:
类型“字符串”上不存在属性“图像”。
如何访问此对象中的图像值,以便在其他地方使用它?
请记住,我正在使用 Angular Elements 编译它并在静态 html 页面中使用它。谢谢
【问题讨论】:
-
@SudarshanaDayananda 这很好,但它在 Angular 中工作,我正在使用 Angular Elements 构建一个 Web 组件,然后将它包含在一个静态 html 文件中。
标签: javascript angular web-component angular-elements