简单的问题,似乎找不到答案... (这将是某人的快速“要点”)
我希望在Angular 5 ngIf中有一个条件,“小于”某些变量。
<div class="row" *ngIf="Subject < 4" >
<div class="row" *ngIf="Subject <= 4" >
此语法炸弹是因为“ <”-我该怎么做? (无需编写功能)?
答案 0 :(得分:1)
* ngIf不适用于'<='符号。需要使用OR运算符分别检查是否等于(==),小于(<)和大于(>)条件。
<div class="row" *ngIf="Subject<4 || Subject==4" >
Row 1 (Rendered when Subject is lesser than or equal to 4)
</div>
<div class="row" *ngIf="Subject>4" >
Row 2 (Rendered when Subject is greater than 4)
</div>
某些IDE在编写代码时可能会显示'<'或'>'登录为语法错误,因为它们也用于HTML标记。但是,它不会引发任何编译或运行时错误。
答案 1 :(得分:0)
尝试一下
<div class="row" *ngIf="Subject < 4 || Subject = 4" >
答案 2 :(得分:0)
写一个简单的吸气剂
<div class="row" *ngIf="greaterThan(Subject, 4)" >
component.ts:
public greaterThan(subj: Subject, num: number) {
return sub < num;
}
答案 3 :(得分:0)
编辑器可能会选择<
作为错误。使用少于*ngIf
的角度实际上不是错误。 这可能是一个鲱鱼,所以请在其他地方查找问题。
就我而言,我遇到了一个空引用问题。例如
<span *ngIf="someArray">
<span *ngIf="someArray.length < 3" class="keypadOutput"> </span>
</span>
在某些情况下,someArray
可以为null,因此我需要为*ngIf
添加一个外部someArray
检查。
答案 4 :(得分:0)
我在使用相似的模板元素时遇到了同样的问题,
<p *ngFor="let msg of logMessages"
[ngClass]="{greaterThan4Class: (rowCount > 4)}"
>
{{msg}}
</p>
,在构建后导致html解析器错误,并导致应用在浏览器中崩溃。解析器将(rowCount> 4)中的大于号解释为打开的
解决方案: 将此设置添加到tsconfig.json:
"typeRoots": [
"node_modules/@types"
],
注意:进行此更改后,我无法通过删除上述内容重现该问题。这也可以通过在Angular项目上执行[npm install]来解决。
答案 5 :(得分:0)
<div class="row" *ngIf="4 > Subject">
<div class="row" *ngIf="4 >= Subject">
您已经完成 对我来说很完美
答案 6 :(得分:0)
可以使用小于 <
的 HTML 代码并且它可以工作。例如在您的问题中,请尝试:
<div class="row" *ngIf="Subject < 4" >
<div class="row" *ngIf="Subject <= 4" >
答案 7 :(得分:0)
您可以使用 HTML 实体 < ;和 >
<div class="row" *ngIf="Subject < 4" >
答案 8 :(得分:0)
只需将 ">" 和 "<" 运算符替换为它们的 HTML 编码,">"和“<”,分别为:
<div class="row" *ngIf="Subject < 4" >
<div class="row" *ngIf="Subject <= 4" >