我正在尝试在放大器中实现宏,如下所示:
<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不支持===
运算符。如果可以,我该如何对任意两个值进行比较?
答案 0 :(得分:1)
amp-bind expression grammar确实列出了受支持的==
(但没有列出===
)。因此,这可行:
<amp-bind-macro id="isTest" arguments="str" expression="str=='test'" />
虽然==
也确实输入了强制类型(例如'10' == 10
是正确的),但这并不是什么大问题,因为amp-bind
表达式往往很简单。如果您有一个需要===
的用例,建议您打开an issue并将其作为对AMP团队的反馈。