作者:不铃不铃铃不铃铃铃 | 来源:互联网 | 2022-12-08 11:55
我们不能使用*ngFor
和使用*ngIf
相同的元素.一种技术是嵌套它们.几乎在任何地方它都没关系,除了在表中我们想要循环tr
并有条件地打印它们.
正如这里建议的那样,我们应该使用
或
元素,以便它不会被打印到DOM.
但我不能让它发挥作用.它根本不打印任何东西.这是一个可以展示它的动画人物.
我该怎么办?
1> super cool..:
由于* ngIf呈现为[ngIf],请尝试直接在应使用的模板上使用[ngIf]。
当我们在指令前加上*时,就是在告诉它使用它附加的元素作为模板。基本上* ngIf是ng-template + [ng-If]的组合。
HTML:
{{ item.year }} |
{{ item.month }} |
或者您也可以使用* ngIf装饰
{{ item.year }} |
{{ item.month }} |
更新的插头
关于结构指令的有用文章
2> Hrishikesh K..:
所以有一些叫做ng-container的东西,
ng-container和ng-template它们都是(2.x,4.x)用于将元素组合在一起而不必引入另一个将在页面上呈现的元素(例如div或span).
ng-template和ng-container之间的区别是
ng-template用于结构指令,如ng-if,ng-for和ng-switch.如果你在没有结构指令的情况下使用它,则没有任何反应和渲染.
当您没有合适的包装器或父容器时,将使用ng-container.在大多数情况下,我们使用div或span作为容器,但在这种情况下,当您想要使用多个结构指令时,但是您不能在元素上使用多个结构指令,在这种情况下,ng-container可以是用作容器
在你的情况下
用于声明模板.你想要的是隐藏/显示一些节点
所以你需要使用ng-container来做同样的事情
{{ item.year }} |
{{ item.month }} |
有几个链接可以帮助您理解这两者
相关链接
结构指令
讨论在NG-模板和NG-容器