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

时间:2015-02-01 08:23:49

标签: javascript html5 templates polymer web-component

使用聚合物我非常简单地尝试评估对象属性是否为特定值,如果是这样,则将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>

还试过,==&#34; message&#34;。如果要求评估布尔表达式,则模板DOES绑定,{{response.data.detail}}显示正确的文本。我在两个单独的元素中尝试过这个(从头开始)并且问题仍然存在,有人能告诉我我明显忽略了什么吗?

还尝试传递给辅助函数{{response | parseObj}}, {{item in response | parseObj}}, {{item in response.data | parseObj}},并且永远不会调用该函数。

1 个答案:

答案 0 :(得分:1)

您忘记了if属性值周围的引号。尝试

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

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

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