use*_*max 7 data-binding 2-way-object-databinding polymer
在使用innerHTML时,在Polymer中创建数据绑定到属性的最简单方法是什么?
这是我的意思的一个例子 - http://jsfiddle.net/ry6og1q9/2/
<paper-input inputValue="{{foo}}" label="static foo"></paper-input>
Run Code Online (Sandbox Code Playgroud)
"staticFoo"paper-input是与{{foo}}绑定的数据 - 双向数据绑定.
var c = this.$.dynamicFooPlaceHolder;
c.innerHTML = '';
var e = document.createElement('div');
e.innerHTML = '<paper-input id="dynamicFoo" inputValue="{{foo}}" label="dynamic foo"></paper-input>';
c.appendChild(e);
Run Code Online (Sandbox Code Playgroud)
但是,使用innerHTML创建的"dynamicFoo"并没有以任何方式绑定到foo属性,尽管它的标记存在.
我试图用Node.bind() - http://www.polymer-project.org/docs/polymer/node_bind.html完成这个, 但它只绑定一种方式.
必须有一个平台实用程序来进行解析/绑定,但我无法在任何地方找到它.
所有Polymer元素(对于最新版本)都具有此实用方法:
/**
* Inject HTML which contains markup bound to this element into
* a target element (replacing target element content).
* @param String html to inject
* @param Element target element
*/
injectBoundHTML: function(html, element)
Run Code Online (Sandbox Code Playgroud)
所以你应该能够做到这样的事情:
this.injectBoundHTML('<paper-input id="dynamicFoo" inputValue="{{foo}}" label="dynamic foo"></paper-input>',
this.$.dynamicFooPlaceHolder);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |