在 Polymer Dart 模板化器实例中编辑输入字段会引发错误

Editing input field in a Polymer Dart templatizer instance throws an error

我们有一个用 dart 编写的聚合物元素(版本 1.0.0-rc.18)。 <list-outer> 元素使用 Templatizer 行为迭代对象列表。

<list-outer>
    <template>               
        <iron-label>{{row.name}}</iron-label>
        <paper-input value="{{row.name}}"></paper-input>
    </template>
</list-outer>

省道部分:

@PolymerRegister('list-outer')
class ListOuter extends PolymerElement with Templatizer {

  @property
  List<Object> datax = [
    {"name": "xxx", "age": 2},
    {"name": "yyy", "age": 3}
  ];

  ListOuter.created() : super.created() ;

  @override
  void ready() {   
    Element template = Polymer.dom(this).querySelector('template');

    this.templatize(template);

    datax.forEach((row) {
      TemplateInstance instance = this.stamp({});

      Polymer.dom(this).append(instance.root);

      instance.set('row', row);
    });
  }
}

如果我尝试编辑内部 <paper-input> 中的数据,我们总是会遇到以下异常。也许我们错过了什么,但不知道是什么。

**Uncaught TypeError: dataHost._templatized._notifyPath is not a function**
Polymer.Templatizer._notifyPathUpImpl @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:11533Polymer.Base._addFeature._notifyPath @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:8009Polymer.Base._addFeature.set @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:8108(anonymous function) @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:7118Polymer.Base._addFeature._notifyListener @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:7885(anonymous function) @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:7151Polymer.Base._addFeature.fire @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:6627Polymer.Bind._modelApi._notifyChange @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:6904Polymer.Base.extend._notifyEffect @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:7185Polymer.Bind._modelApi._effectEffects @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:6962Polymer.Bind._modelApi._propertySetter @ index.html
_ijt=afoakvu673o0o9qkl500u98qfp:6937setter @ index.html

...

似乎是 js Polymer 中一个已知错误的变体。

https://github.com/Polymer/polymer/issues/3899

有关研究,请参阅评论。