2015-06-10 4 views
0

Я пытаюсь мигрировать из полимера от 0,5 до 1,0 и получил следующий вопрос:Polymer 1,0 скипа узлы с ExcludeLocalNames

Кто-нибудь знает, как игнорировать узлы внутри paper-menu? В 0.5 вы можете установить атрибут excludedLocalNames, чтобы игнорировать некоторые из них, но в 1.0 он, похоже, изменился.

В IronSelectableBehavior все еще есть свойство excludedLocalNames, поэтому я думал, что он все еще работает. У кого-нибудь рабочий пример?

Следующий код был мой первый attemp создать подменю с этой функцией, но подменю не игнорируется родителем:

<paper-menu selected="{{route}}" attr-For-Selected="entry" excludedLocalNames="paper-menu"> 
    <paper-icon-item entry="home"> 
     <iron-icon icon="home" item-icon></iron-icon> 
     Übersicht 
    </paper-icon-item> 
    <paper-icon-item entry="page1"> 
     <iron-icon icon="label" item-icon></iron-icon> 
     Page1 
    </paper-icon-item> 
    <template is="dom-if" if="{{computeEquals(route,'page1')}}"> 
     <paper-menu class="submenu" selected="{{routePage1}}" attr-For-Selected="entry1"> 
      <paper-icon-item entry1="basics"> 
       <iron-icon icon="icons:assignment" item-icon></iron-icon> 
       Basics 
      </paper-icon-item>  
      <paper-icon-item entry1="tools"> 
       <iron-icon icon="icons:apps" item-icon></iron-icon> 
       Tools 
      </paper-icon-item> 
     </paper-menu> 
    </template> 
    <paper-icon-item entry="page2"> 
     <iron-icon icon="label" item-icon></iron-icon> 
     Page2 
    </paper-icon-item>  
</paper-menu> 

Потому что нет более подменю-элемент в 1,0 , Я попытался таким образом поместить меню внутри меню. Но если я нажму на элемент подменю, родительское меню изменит его сфокусированный предмет ...

Кто-нибудь знает, как использовать excludeLocalNames -трибут?

Редактировать

Вот ссылки на документаций:

ответ

3

Не используйте excludedLocalNames в 1.0. Вместо этого установите свойство selectable на селектор на имена узлов, для которых вы хотите разрешить выбор. По сути, это белый список вместо черного списка (что намного надежнее).

Например:

<paper-menu selectable="paper-item,div"> 

    <paper-item>You can select me!</paper-item> 

    <div class="menu-item">You can select me, too.</div> 

    <paper-icon-item icon="user">You can't select me.</paper-icon-item> 

    <header>I'm not selectable either.</header> 

</paper-menu> 
+0

Отлично, вот оно! – Jokus

+2

Мне нравится, что это полный селектор CSS/querySelector, вы даже можете использовать 'selectable =" [selectable] "' и устанавливать атрибут 'selectable' на все, что вы хотите выбрать. – Zikes

+0

Довольно уверен, что 'excludedLocalNames' должно работать, однако при использовании его как атрибута html вам нужно ввести нижний регистр и разделить его на« - »:« исключенные локальные имена » – ebidel