Polymer codelab构建材料设计不一致

时间:2014-07-10 11:32:43

标签: polymer

我正在关注材料设计的代码库(http://io2014codelabs.appspot.com/static/codelabs/polymer-build-mobile/#1),我有一个我无法回答的问题:

为什么字体大小应用于' .card'元素"手动" (迭代元素并设置样式) - 这会导致错误 - 当您更改字体大小时,它会应用于所有现有项目,但是当您创建新项目时,它没有应用样式,因此看起来很奇怪,直到您从菜单中重新调整字体大小。

我试图直接绑定它(即style =" font-size:{{fontSize}} px"但这不起作用。它适用于其他元素,但不适用于辅助模板元素。

对此有任何见解吗? a)为什么绑定不起作用? b)如何修复错误'?

谢谢!

1 个答案:

答案 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