Mat*_*hew 5 javascript polymer polymer-1.0
是否可以使用Google Polymer自动绑定子属性?像AngularJS之类的东西.
这是一个小例子:
这是包含属性prop1的元素,并在2秒后更新它:
<dom-module is="test-elem">
<script>
TestElem = Polymer({
is: "test-elem",
properties: {
prop1: { type: String, value: "original value", notify: true }
},
factoryImpl: function() {
var that = this;
setTimeout(function(){
that.prop1 = "new value";
}, 2000);
}
});
</script>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
这是主页面,它创建一个元素并在dom中显示prop1:
<template is="dom-bind" id="main-page">
<span>{{test.prop1}}</span>
</template>
<script>
var scope = document.getElementById('main-page');
var t = new TestElem();
scope.test = t;
</script>
Run Code Online (Sandbox Code Playgroud)
遗憾的是,页面不会使用新值进行更新.有没有办法自动绑定?
这是一个jsfiddle:http://jsfiddle.net/xkqt00a7/
我发现最简单的方法是添加一个事件处理程序:
t.addEventListener('prop1-changed', function(e){
scope.notifyPath('test.prop1', e.currentTarget.prop1)
});
Run Code Online (Sandbox Code Playgroud)
但它不像 AngularJS 那样是自动的。