【发布时间】:2019-06-29 15:42:47
【问题描述】:
自制导航栏。环境包含具有如下定义的下拉元素的列表:
{
title: 'Overview', isDropped: false, Links: [
{linkTitle: 'What is Hunter', linkRoute: '/whatishunter'},
{linkTitle: 'What is a Hard Problem', linkRoute: '/hardproblem'},
{linkTitle: 'Real World Applications', linkRoute: '/realapps'},
{linkTitle: 'Using Hunter', linkRoute: '/usingHunter'}
]
},
导航栏 html 循环 (ngFor) 用于导航栏该部分中的每个下拉菜单;添加的 leftdropdown 被删除以显示正在发生的事情:
<div class="positionLeft" [ngStyle]="{'z-index': '2', 'height': '50px'}">
<div *ngFor="let leftdropdown of barContents.leftMenus">
<app-navdropdown [title]="[leftdropdown.title]" [isDropped]="[leftdropdown.isDropped]"
[links]="[leftdropdown.links]"></app-navdropdown>
added leftdropdown isdropped = {{leftdropdown.isDropped}}
</div>
“leftdropdown”元素来自上面的环境列表。 component.ts 是:
为了确定,我可以手动将 isDropped 更改为 true 并显示“if 块”。 明显的错误是 *ngIf 正在反转 isDropped 表达式????
关于什么是误解或简单的语法错误的任何线索?
感谢您的时间和建议。
查克(瑜伽士)
【问题讨论】:
-
[isDropped]="[leftdropdown.isDropped]"右侧方括号的作用是什么? -
使用 ngOnchanges 检查来自输入装饰器的值
-
dee zg -- 这似乎就是答案。我从来不明白什么时候需要右方括号。我认为它将被视为不带括号的字符串“leftdropdown.isDropped”。我认为方括号强制表达式评估。 ... dee zg 如果您想给出答案,也许可以帮助我理解何时需要括号,我很乐意将其标记为正确答案。谢谢。
-
[isDropped]中的括号告诉 Angular 计算右侧的绑定表达式,如 the documentation 中所述。
标签: html angular angular-ng-if