无法显示树结构
Not able to display tree structure
我正在尝试在 UI 上显示树结构。但是得到一个错误。
Can't bind to 'target' since it isn't a known property of 'i'. ("v
*ngFor="let item of files">
]data-target="#{{item.reference}}"
class="fa fa-caret-right" *ngIf="!(item.children.length==="): ng:///AppModule/SidenavComponent.html@9:34
尽管这个 属性 存在于我的 json 文件中,如下所示:
[
{
"name": "great grandparent",
"reference": "great_grandparent",
"children": [
{
"name": "childless grandsibiling",
"reference": "childless_grandsibiling",
"children": []
},
{
"name": "grandparent",
"reference": "grandparent",
"children": [
{
"name": "childless sibiling",
"reference": "childless_sibling",
"children": []
},
{
"name": "another childless sibiling",
"reference": "another_childless_sibiling",
"children": []
},
{
"name": "parent",
"reference": "parent",
"children": [
{
"name": "child",
"reference": "child",
"children": []
},
{
"name": "another child",
"reference": "another_child",
"children": []
}
]
}
]
}
]
}
]
而我的html文件如下:
<div class="row">
<div class="col-md-12">
<div id="google_translate_element"></div>
</div>
</div>
<div class="container sidenav-tree">
<ng-template #recursiveList let-files>
<div *ngFor="let item of files">
<div class="row node-item">
<i data-toggle="collapse" data-target="#{{item.reference}}"
class="fa fa-caret-right" *ngIf="!(item.children.length===0)"></i>
{{item.name}}
</div>
<div id="{{item.reference}}" class="container collapse" *ngIf="!(item.children.length===0)">
<ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: item.children }"></ng-container>
</div>
</div>
</ng-template>
<ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: files }"></ng-container>
</div>
我无法找出失败的原因。我已经尝试了所有可能的条件来使它工作。请帮我解决这个问题
Angular 期望 <i>
元素有一个名为 target
的输入。因为您使用的是 data-target
,这是 [target]
.
的普通表示法
将您的 html 更改为:
<i data-toggle="collapse" attr.data-target="#{{item.reference}}"
这样您就可以绑定到属性,而不是 属性 或输入绑定
我正在尝试在 UI 上显示树结构。但是得到一个错误。
Can't bind to 'target' since it isn't a known property of 'i'. ("v *ngFor="let item of files"> ]data-target="#{{item.reference}}" class="fa fa-caret-right" *ngIf="!(item.children.length==="): ng:///AppModule/SidenavComponent.html@9:34
尽管这个 属性 存在于我的 json 文件中,如下所示:
[
{
"name": "great grandparent",
"reference": "great_grandparent",
"children": [
{
"name": "childless grandsibiling",
"reference": "childless_grandsibiling",
"children": []
},
{
"name": "grandparent",
"reference": "grandparent",
"children": [
{
"name": "childless sibiling",
"reference": "childless_sibling",
"children": []
},
{
"name": "another childless sibiling",
"reference": "another_childless_sibiling",
"children": []
},
{
"name": "parent",
"reference": "parent",
"children": [
{
"name": "child",
"reference": "child",
"children": []
},
{
"name": "another child",
"reference": "another_child",
"children": []
}
]
}
]
}
]
}
]
而我的html文件如下:
<div class="row">
<div class="col-md-12">
<div id="google_translate_element"></div>
</div>
</div>
<div class="container sidenav-tree">
<ng-template #recursiveList let-files>
<div *ngFor="let item of files">
<div class="row node-item">
<i data-toggle="collapse" data-target="#{{item.reference}}"
class="fa fa-caret-right" *ngIf="!(item.children.length===0)"></i>
{{item.name}}
</div>
<div id="{{item.reference}}" class="container collapse" *ngIf="!(item.children.length===0)">
<ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: item.children }"></ng-container>
</div>
</div>
</ng-template>
<ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: files }"></ng-container>
</div>
我无法找出失败的原因。我已经尝试了所有可能的条件来使它工作。请帮我解决这个问题
Angular 期望 <i>
元素有一个名为 target
的输入。因为您使用的是 data-target
,这是 [target]
.
将您的 html 更改为:
<i data-toggle="collapse" attr.data-target="#{{item.reference}}"
这样您就可以绑定到属性,而不是 属性 或输入绑定