运算符'>'不能应用于类型'boolean'和'number'?

Non*_*one 8 angular

我在我的html模板中使用此块:

  <div *ngIf="visibleblock && !selected?.item?.externalInfo?.length > 0">
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时我得到了这个错误:

ng build --prod --aot
Run Code Online (Sandbox Code Playgroud)

任何建议如何解决这个问题?

Fai*_*sal 18

将第二个表达式放在括号内:

<div *ngIf="visibleblock && !(selected?.item?.externalInfo?.length > 0)">
Run Code Online (Sandbox Code Playgroud)

  • @Krunal 例如:`!a.length` 返回一个布尔值,因为它会检查 `a` 的长度是否存在。因此,编写`(!a.length &gt; 0)` 会将布尔值与 0 进行比较。`!(a.length &gt; 0)` 将检查括号内的比较(数字与数字)是否为布尔值 true 或 false . 这就是区别,这就是 OP 收到错误消息的原因。 (4认同)