我正在关注材料设计的代码库(http://io2014codelabs.appspot.com/static/codelabs/polymer-build-mobile/#1),我有一个我无法回答的问题:
为什么字体大小应用于' .card'元素"手动" (迭代元素并设置样式) - 这会导致错误 - 当您更改字体大小时,它会应用于所有现有项目,但是当您创建新项目时,它没有应用样式,因此看起来很奇怪,直到您从菜单中重新调整字体大小。
我试图直接绑定它(即style =" font-size:{{fontSize}} px"但这不起作用。它适用于其他元素,但不适用于辅助模板元素。
对此有任何见解吗? a)为什么绑定不起作用? b)如何修复错误'?
谢谢!
答案 0 :(得分:1)
这解释为here。基本上,当您不使用named scope时,您将无法访问祖先模板范围。
修复涉及切换到命名范围并重写内部的所有绑定以使用它:
<template repeat="{{datum in data}}" >
<div center horizontal layout class="item" data-done="{{datum.done}}">
<paper-checkbox checked="{{datum.done}}" on-change="{{datum.dataChanged}}"></paper-checkbox>
<div flex class="card paper-shadow-top-z-2" style="font-size: {{fontSize}}px;">
<p>{{datum.body}}</p>
<paper-ripple class="fit recenteringTouch"></paper-ripple>
</div>
</div>
</template>
然后样式绑定有效,您可以删除fontSizeChanged
。