使用Google Polymer绑定子属性

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/

Mat*_*hew 3

我发现最简单的方法是添加一个事件处理程序:

t.addEventListener('prop1-changed', function(e){
        scope.notifyPath('test.prop1', e.currentTarget.prop1)
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/83hjzoc3/

但它不像 AngularJS 那样是自动的。