Sub*_*kar 3 javascript polymer polymer-1.0
虽然迁移到聚合物1.0 0.5我也碰到过一件有趣的事情.认为它可能会帮助其他人有类似的问题.
我有一个我正在使用的元素<template is="dom-repeat" items="{{customers}}">...</template>.我面临的问题是我必须将每个属性绑定放在HTML元素中.我想写的代码如下:
<template is="dom-repeat" items="{{customers}}">
<div>
{{item.name}}<br />
{{item.addr}}, {{item.addr2}}<br />
{{item.phone}}
</div>
</template>Run Code Online (Sandbox Code Playgroud)
但它只显示了价值{{item.name}}.原因是其他属性绑定不包含在单独的HTML标记中,它们根本不显示!
我尝试了以下但是也没有工作:
<template is="dom-repeat" items="{{customers}}">
<div>
<p>{{item.name}}</p>
<span>{{item.addr}} {{item.addr2}}</span>
</div>
</template>Run Code Online (Sandbox Code Playgroud)
意味着,我把{{item.name}}一个内<p>...</p>标签,并放置{{item.addr}}和{{item.addr2}}一个内<span>...</span>标签.
然后我继续把每个属性绑定包装在他们自己的HTML标签中,如下所示:
<template is="dom-repeat" items="{{customers}}">
<div>
<p>{{item.name}}</p>
<span style="display:block">{{item.addr}}, <span>{{item.addr2}}</span></span>
<span style="display:block;">{{item.phone}}</span>
</div>
</template>Run Code Online (Sandbox Code Playgroud)
它的工作原理!!
我真的不知道它是1.0的错误还是我做错了!如果有人知道答案,请帮助.
提前致谢
你没有做错任何事.随着Polymer 0.9(及更高版本1.0)的引入,数据绑定到文本节点的内容只有在将所有内容都包装到自己的元素中时才有效.
请参阅Polymer文档:
绑定注释当前必须跨越标记的整个内容
所以你必须删除所有空格和其他字符才能工作.
文档中的示例:
<!-- this works -->
<template>
First: <span>{{first}}</span><br>
Last: <span>{{last}}</span>
</template>
<!-- Not currently supported! -->
<div>First: {{first}}</div>
<div>Last: {{last}}</div>
<!-- Not currently supported! -->
<div>
{{title}}
</div>
Run Code Online (Sandbox Code Playgroud)
从Polymer 1.2开始,问题中描述的问题不再是问题/错误.复合绑定现在有效,请参阅Polymer博客上的发行说明.