检查变量是否已定义,并在PugJS中的相同条件下检查其属性

问题描述

我正在为哈巴狗视图提供变量items,对于变量为空列表或undefined的情况,我想提供相同的结果。

我希望可以使用&这样的运算符来完成

if typeof(items) != 'undefined' & items.length > 0
    each item in items
        p item
else
    p no items here :(

但是基于错误消息,指出当items丢失或undefined时,pug正在评估&运算符的两端。

Cannot read property 'length' of undefined

一个明显的解决方案是在调用视图的JS中执行此检查,但是我想知道是否有一种方法可以在pug中的单个条件下进行此检查。

解决方法

JavaScript logical AND operator (&&)用两个“&”符号编写。修改此条件应该可行(为便于阅读,包括了括号):

if (typeof(items) !== 'undefined') && (items.length > 0)
  each item in items
    p item
else
  p no items here :(

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...