amp-bind中的比较运算符

时间:2019-01-04 11:22:16

标签: amp-html

我正在尝试在放大器中实现宏,如下所示:

<amp-bind-macro id="isTest" arguments="str" expression="str==='test'" />

但是会引发此错误:

amp-bind-macro#isTest.i-amphtml-element.i-amphtml-layout-container.i-amphtml-error %s amp- 
bind: Parsing amp-bind-macro failed. Parse error on line 1:
str==='test'
-----^
Expecting '(', '!', '-', '+', 'NAME', '[', 'STRING', 'NUMBER', 'TRUE', 'FALSE', 'NULL', 
'{', got 'INVALID'​​​

我猜这是因为AMP不支持===运算符。如果可以,我该如何对任意两个值进行比较?

1 个答案:

答案 0 :(得分:1)

amp-bind expression grammar确实列出了受支持的==(但没有列出===)。因此,这可行:

<amp-bind-macro id="isTest" arguments="str" expression="str=='test'" />

虽然==也确实输入了强制类型(例如'10' == 10是正确的),但这并不是什么大问题,因为amp-bind表达式往往很简单。如果您有一个需要===的用例,建议您打开an issue并将其作为对AMP团队的反馈。