【问题标题】:Jade string comparison failing玉串比较失败
【发布时间】:2016-01-23 08:59:23
【问题描述】:

我正在尝试在这样的 if 语句中使用字符串变量

if data.Locality == "federal" 
    *other code*

但是,Locality 字符串不匹配为“federal”。当我在 Jade 触及数据层之前检查数据层中的值,并将其放入元素 p = data.Locality 时,它会打印为“federal”(减去引号)。我检查了空格,但找不到任何空格。我一直在寻找可能的内置比较方法,但没有找到。关于可能发生的事情或我可以解决的方法有什么想法吗?

【问题讨论】:

  • 你试过- if (data.Locality == "federal") 用破折号和括号吗?
  • @sean 这导致该行显示为纯文本
  • 这很奇怪,破折号应该表示未缓冲的代码:jade-lang.com/reference/code
  • @sinclair 在我的搜索中,我没有找到任何可以与 .equals() 相媲美的方法
  • @sean 知道为什么比较本身可能返回 false 吗?

标签: pug


【解决方案1】:

原来 data.Locality 是一个指向字符串而不是字符串的指针。当我在数据层中检查它并将其添加到 Jade 中的另一个元素时,它会自动被取消引用,但在我进行比较时不会。我最终通过创建一个返回字符串值的 getter 方法在我的数据层中取消引用它,但您也可以在 Jade 中取消引用它。

【讨论】:

  • 我通过管道传递了对.toString() 方法的引用,它对我有用!谷歌把我带到这里,你的回答对我有很大帮助。
猜你喜欢
  • 1970-01-01
  • 2016-07-05
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多