我想在我的Angular应用程序中混合Polymer Web组件,但我无法获得双向数据绑定这些框架之间的工作。我已经观看了this video,并且已经尝试了this question中提供的解决方案,但它仍然不适用于我。这是我的尝试:框架组件(核心元素/纸张元素)的聚合物角度双向数据绑定
Object
属性值<game-card game="{{game}}" bind-polymer></game-card>
- 基于post-card.html
聚合物教程。game
是ID,标题等我创建的Web组件上的
gameChanged
功能,并在game
变量添加了一个新的属性,像this.game.foo = 'bar';
的对象,但如果我不<pre><code>{{game | json}}</code></pre>
紧跟在组件后面,字符串化对象中没有
"foo": "bar"
。即使publish: { game: {reflect: true} }
,这是行不通的。
框架组件
<core-input value="{{cool}}" bind-polymer></core-input> <paper-input value="{{cool}}" bind-polymer></paper-input>
如果我编辑元件的源代码到
reflect
的value
属性(上core-input.html
,纸输入延伸它)它仅适用。我认为这不是解决这个问题的好方法。
我错过了什么吗?有没有很好的资源可以寻找这种角聚合物集成?在Google上搜索带来的关于the material的更多结果要比关于图书馆本身的结果多得多,其中大部分结果都是“Polymer for Dart”资源。
是的。很确定核心输入的值属性需要设置为'reflect:true'才能工作(https://github.com/Polymer/core-input/blob/master/core-input.html#L161) 。否则,该属性将不会更新,并且Angular的数据绑定系统将永远不会看到更改。也许提出一个错误? https://github.com/Polymer/core-input/issues/new – ebidel
@edibel我有类似的问题,即使设置了“reflect:true”,它有时也不起作用。 – ipaul
@ebidel - 我会尽快提交一个错误,谢谢你的回应。但是'Object'类型属性呢?它是不是应该添加新的属性呢,甚至更多地用'reflect:true'? 我遇到的另一个问题是,当我将'game'变量传递给属性时,有时我的web组件会收到一个js对象,有时它会收到一个JSON字符串,迫使我将其设为'JSON.parse'。 – danguilherme