通过上下文绑定到viewmodel?

时间:2014-12-07 22:26:06

标签: polymer

我正在考虑将Polymer用于我正在开发的新项目。我很幸运能够定位最新版本的Chrome。

我正在研究Polymer的原因之一是我明白使用新的Object.observe进行数据绑定。 (我认为我说得对,如果我不是,请纠正我!)

我想要实现的一件事是能够针对我的视图模型运行我的测试,而不是使用gui测试工具。

...但据我所知,Polymer设置为Web组件实际上是视图模型。我说得对吗?现在我没有考虑聚合物测试,但我希望这意味着必须有一个DOM来测试......

现在,我可以添加一个" context"属性到每个Web组件并将JS视图模型绑定到该组件,并将所有绑定都设置为{{context.prop}}{{context.prop1}}等...

这是否违反任何聚合物原则 - 我是否完全错误的想法?

示例元素:

<polymer-element name="my-element" attributes="context">
    <template>
        <textarea value="{{context.prop}}"></textarea>
    </template>
    <script>Polymer({});</script>
</polymer-element>

元素使用:

<my-element id="ele"></my-element>
<script>
    var model = { prop: 'initial value' }

    // wait for DOM to load - should really use some sort of "ready" event here...
    setTimeout(
        function() {
            var ele = document.querySelector('#ele');
            ele.context = model;
        }, 3000);

    Object.observe(model, function() { console.log('changed'); });
</script>

0 个答案:

没有答案