【问题标题】:polymer-element attributes attribute in DartDart 中的聚合物元素属性
【发布时间】:2014-03-12 07:40:40
【问题描述】:

在 Polymer.js 中,我可以这样做:

<polymer-element name="test-element" attributes="word" noscript>
  <template>Foo {{word}} <content></content></template>
</polymer-element>

<test-element word="bar">baz</test-element>

输出是Foo bar baz。见http://jsfiddle.net/vV3yS/

但是,如果我在 Polymer.dart 中做同样的事情,我只会得到 Foo baz。更糟糕的是,如果我添加 lightdom,它可以在 Polymer.js 中工作,但 Polymer.dart 会给出 bazFoo

我可以让 Polymer.dart 的行为与 Polymer.js 的行为相同吗?我正在使用 0.9.5。

【问题讨论】:

    标签: dart dart-polymer polymer


    【解决方案1】:

    这很有趣,因为lightdom 不久前已经从 Polymer.js 中删除了 (https://github.com/Polymer/docs/issues/243)

    我自己使用noscript 已经有一段时间了,但我的经验是它在 PolymerDart 中存在问题,尤其是在您扩展其他元素时。 我想如果您将脚本添加到带有字段的元素中,您的元素会起作用

    @published var word;
    

    您为此问题创建的问题的链接:
    https://code.google.com/p/dart/issues/detail?id=17426

    编辑
    Polymer 0.10.0 之前不支持具有属性但没有脚本(noscript)的聚合物元素,但下一个版本应该支持(https://code.google.com/p/dart/issues/detail?id=17426

    【讨论】:

    • 我希望 Dart 不会移除 lightdom。它很有用。关于 noscript,当然,我可以创建一个类并且它会工作,但是该类需要一个 @CustomTag、每个属性的已发布属性和一个调用 super.created() 的构造函数。当我想要很多这些轻量级元素时,这些重复的代码应该是多余的。
    • 我相信他们很快就会删除它。是的,有一些样板,但我没有遇到很多没有代码的自定义元素可能非常有用的情况。您创建的问题是正确的做法。在修复之前,该脚本只是一种解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多