首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合物内置的方式使用“子页”和核心子菜单?

聚合物内置的方式使用“子页”和核心子菜单?
EN

Stack Overflow用户
提问于 2015-03-03 10:57:17
回答 2查看 214关注 0票数 0

我正在尝试用core-submenu创建一个页面(因此也是“子页面”(不是真正的组件))。但是,正如我在网上看到的,这有一个“问题”,因为按下core-submenu项会触发selected事件,尽管很自然,人们只希望在子元素被按下时触发它。

我找到了这个link,它解释了实现我想要的东西的方法,但是这种方法依赖于所有页面上的ids和core-submenu子程序。我没有必要“循环”-generate我的菜单。由于不使用core-submenu,一切都在工作,甚至没有丝毫的javascript代码。

是否有一些内置的支持核心页和核心子菜单可以使用?换句话说:一种不需要任何(或最少)使用javascript的方法?

代码语言:javascript
复制
.
. //some code here
.    
<core-menu theme="core-light-theme" selected="{{selected}}" selectedItem={{item}}>
        <core-submenu icon="settings" label="Favorites">
          <core-item icon="https" label="Hello"></core-item>
          <core-item icon="https" label="World"></core-item>
        </core-submenu>
    </core-menu>
.
. //some code here
.
    <core-animated-pages transitions="cross-fade" selected="{{selected}}">
      <section id="page-1">
        <div cross-fade>Hello content</div>
      </section>
      <section id="page-2">
        <div cross-fade>World content</div>
      </section>
    </core-animated-pages>
.
. //some code here
.

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-03 12:45:06

尝试将valueattr用于ex:

代码语言:javascript
复制
<core-menu theme="core-light-theme">
    <core-submenu icon="settings" label="Favorites"  valueattr="number" selected="{{number}}">
      <core-item icon="https" label="Hello" number="0"></core-item>
      <core-item icon="https" label="World" number="1"></core-item>
    </core-submenu>
      <core-submenu icon="settings" label="Favorites2"  valueattr="number" selected="{{number}}">
      <core-item icon="https" label="Hello2" number="2"></core-item>
      <core-item icon="https" label="World2" number="3"></core-item>
    </core-submenu>
</core-menu>
  <core-animated-pages transitions="cross-fade" selected="{{number}}">
  <section id="page-1">
    <div cross-fade>Hello content - {{number}}</div>
  </section>
  <section id="page-2">
    <div cross-fade>World content - {{number}}</div>
  </section>
      <section id="page-3">
    <div cross-fade>Hello content - {{number}}</div>
  </section>
  <section id="page-4">
    <div cross-fade>World content - {{number}}</div>
  </section>  
</core-animated-pages>

票数 2
EN

Stack Overflow用户

发布于 2015-03-03 12:13:20

好吧,你可以放弃“共享选择”的想法,而是在“核心-选择”事件上做出反应。

一切都会好起来的。

代码语言:javascript
复制
    <template is='auto-binding'>
    <core-scaffold>
        <core-header-panel navigation flex>
            <core-toolbar>Menu</core-toolbar>

            <core-menu on-core-select='{{navFunc}}'>

                <core-item label='page1'></core-item>

                <core-submenu label='something' type='submenu'>
                    <core-item label='page2'></core-item>
                    <core-item label='page3'></core-item>

                    <core-submenu label='super submenu' type='submenu'>
                        <core-item label='page4'></core-item>
                        <core-item label='page5'></core-item>
                    </core-submenu>

                </core-submenu>

                <core-submenu label='more here' type='submenu'>
                    <core-item label='page6'></core-item>
                    <core-item label='page7'></core-item>
                </core-submenu>

            </core-menu>

        </core-header-panel>

        <core-animated-pages selected='{{myselection}}' valueattr='label'>
            <section label='page1'>Page1</section>
            <section label='page2'>Page2</section>
            <section label='page3'>Page3</section>
            <section label='page4'>Page4</section>
            <section label='page5'>Page5</section>
            <section label='page6'>Page6</section>
            <section label='page7'>Page7</section>
        </core-animated-pages>

    </core-scaffold>
    </template>
    <script>
        var template = document.querySelector('template[is="auto-binding"]');

        template.navFunc = function(e, detail){
            if (detail.item.getAttribute('type') !== 'submenu' && detail.isSelected == true) {
                template.myselection = detail.item.getAttribute('label');
            }
        }
    </script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28830040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档