聚合物,模板不会评估真实和绑定

Polymer, template won't evaluate true and bind

使用 polymer 我非常简单地尝试评估对象 属性 是否为特定值,如果是,则将 truthy 模板的内容绑定到 dom。

我有:

<polymer-element name="template-elem">
  <template >
    <div>
    <template if={{response.data.type === "message"}}>
      <div>working</div>
    </template>
    </div>
  </template>
  <script>

    Polymer({
      response: {}, 
        ready: function(){
      this.response = {"data":{
        "type":"message",
        "detail":"default"
      }};
        },
    });
  </script>
</polymer-element>

也试过了,=="message"。如果要求评估布尔表达式,模板会绑定,并且 {{response.data.detail}} 显示正确的文本。我已经在两个不同的元素中尝试过这个(从头开始),但问题仍然存在,谁能告诉我我明显忽略了什么?

还尝试传递给辅助函数 {{response | parseObj}}, {{item in response | parseObj}}, {{item in response.data | parseObj}} 但该函数从未被调用。

您忘记了 if 属性值两边的引号。尝试

<template if="{{response.data.type === 'message'}}">

没有引号,浏览器 (Chrome) 将此行解析为

<template if="{{response.data.type" =="=" 'message'}}=""></template>