我的用例如下:我有一個返回數組的函數我想有條件地渲染一個組件——如果一個數組存在并且它的長度大于零。我想將這個返回的數組作為一個傳遞@Input()給這個組件。因為數組的內容是計算出來的,所以我不想調用這個函數兩次,因此使用 getter 也無濟于事。我嘗試了很多不同的方法,僅舉幾例:<order-list *ngIf="customer.getOrders() as orders && orders.length > 0" [orders]="orders" ></order-list>
<order-list *ngIf="(customer.getOrders() as orders) && orders.length > 0" [orders]="orders" ></order-list>
<order-list *ngIf="(customer.getOrders()) as orders && (orders.length > 0)" [orders]="orders" ></order-list>不幸的是我不斷收到一堆錯誤:模板解析錯誤:類型錯誤:無法讀取未定義的屬性“toUpperCase”(“<div>解析器錯誤:意外的標記 &&、預期的標識符、關鍵字或列中的字符串解析器錯誤:第 23 列缺少預期的 )[錯誤 ->]*ngIf="(customer.getOrders() 作為訂單) && orders.length > 0"這是一個有上述問題的stackblitz 。
在 *ngIf 指令中:如何將函數的返回值存儲在變量中并在同一個 *ngIf 中使用它?
慕哥9229398
2022-11-27 17:21:40