2015-08-21 4 views
0

Вот мой макет. Без железа списка он работает, но с ней он дает мне ошибку

Uncaught TypeError: this.$.selector.clearSelection is not a function

<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="../bower_components/paper-input/paper-input.html"> 
<link rel="import" href="../common-settings-service/common-settings-service.html"> 
<link rel="import" href="../bower_components/paper-button/paper-button.html"/> 
<link rel="import" href="../bower_components/paper-material/paper-material.html"/> 
<link rel="import" href="../bower_components/iron-list/iron-list.html"> 
<link rel="import" href="../bower_components/iron-flex-layout/iron-flex-layout.html"> 
<dom-module id="common-settings"> 
    <style> 
     :host { 
      display: block; 
     } 

     paper-material { 
      background: #FFFFFF; 
     } 

     .container { 
      @apply(--layout-horizontal); 
     } 

     .windowItem { 
      @apply(--layout-horizontal); 
     } 

     .list { 
      @apply(--layout-flex); 
      @apply(--layout-vertical); 
     } 

     .item { 
      @apply(--layout-horizontal); 
      margin: 16px 16px 0 16px; 
      padding: 20px; 
      border-radius: 8px; 
      background-color: white; 
      border: 1px solid #ddd; 
     } 

    </style> 
    <template> 
     <common-settings-service 
       id="commonSettings" 
       url="/board_service/common_settings/" 
       settings="{{settings}}"/> 
     <paper-material elevation="1"> 
      <div class="container"> 
       <h3> Настройки обработки</h3> 

       <h4>Окна</h4> 
       <div class="list"> 
        <iron-list items="[[settings.timeWindows]]" as="item"> 
        <template> 
         <div class="item"> 
          Name: <span>[[item]]</span> 
         </div> 
        </template> 

       </iron-list> 
       </div> 

Пока я не знаю, как показать вам жить демо я был в состоянии отладки немного кода железодефицитной список , Проблема заключается в последней строке.

clearSelection: function() { 
     function unselect(item) { 
     var model = this._getModelFromItem(item); 
     if (model) { 
      model[this.selectedAs] = false; 
     } 
     } 
     if (Array.isArray(this.selectedItems)) { 
     this.selectedItems.forEach(unselect, this); 
     } else if (this.selectedItem) { 
     unselect.call(this, this.selectedItem); 
     } 

     this.$.selector.clearSelection();  
    }, 

Отладка показывает, что такой функции в селекторе действительно нет. И этот селектор фактически является элементом селектора элементов из библиотеки полимеров. И он имеет такую ​​функцию в исходном коде.

+0

Лучше, если бы вы смогли сделать демо-версию –

+0

Согласен, покажите нам свой код, чтобы мы могли вам помочь. –

+0

@Flavio Ochoa - вы можете увидеть весь код. Я не знаю, как сделать демо-версию для полимерного кода. – user1685095

ответ

2

Хорошо, поэтому я нашел причину этого. Они изменили API между 1.0.9 и 1.1.1. Мой полимер был версии 1.0.9, и поэтому он не сработал. Я обновил все полимерные элементы до последней версии, и теперь он работает.

Смежные вопросы