2014-09-05 107 views
2

我开始使用聚合物。这是伟大的事情。感谢所有的控制者。关于聚合物的简单问题

我有核心菜单和核心页面元素。

<polymer-element name="my-element"> 
    <template> 
    <style> 
    </style> 
    <core-menu selected="0" id="core_menu"> 
     <core-item on-tap="{{sel_brosh}}" label="Broshura"></core-item> 
     <core-item on-tap="{{sel_list}}" label="Listovka"></core-item> 
    </core-menu> 
    <core-pages selected="0" id="sec_pages"> 
     <section id="sec_brosh">Page One</section> 
     <section id="sec_list">Page Two</section> 
    </core-pages> 
    </template> 
    <script> 
    Polymer('my-element', { 
     sel_brosh: function() { this.$.sec_pages.selected = "0"; }, 
     sel_list: function() { this.$.sec_pages.selected = "1"; }, 
    }); 
    </script> 
</polymer-element> 

它工作正常,但我认为这不是'最佳实践'。我怎样才能使它与一个功能?我试图获得这个价值。$。core_menu.selected,但我只获得了旧值。

可能是我选择了一个错误的方式。我想用简单的菜单切换页面来获得一些“页面”。

回答

4

试试这个:

<polymer-element name="my-element"> 
    <template> 
    <core-menu selected="{{selected}}"> 
     <core-item label="Broshura"></core-item> 
     <core-item label="Listovka"></core-item> 
    </core-menu> 
    <core-pages selected="{{selected}}"> 
     <section>Page One</section> 
     <section>Page Two</section> 
    </core-pages> 
    </template> 
    <script> 
    Polymer({ 
     selected: 0 
    }); 
    </script> 
</polymer-element> 

普罗蒂普:聚合物的MVC概念是my-element有一个数据模型,它通知的孩子。我提到这一点是因为很容易看这个,并说哦,core-menucore-pages是数据绑定的,但更好的描述是core-menucore-pages是数据绑定到my-element。主机my-element处于控制状态(因此控制器 [或者更确切地说主持人处于MVP模式]),并且孩子不直接与对方互动。

+0

谢谢!我很蠢!非常简单! :) – pofigizm 2014-09-05 17:56:12