聚合物,模板不会评估真实和绑定
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>
使用 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>