未捕获的TypeError:this。$。selector.clearSelection不是函数

时间:2015-08-21 14:47:42

标签: polymer

这是我的布局。没有铁列表它可以工作,但有了它它给我错误

  

Uncaught TypeError:this。$。selector.clearSelection不是函数

<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();    
    },

调试显示选择器中确实没有这样的功能。而这个选择器实际上是来自聚合物库的数组选择器元素。它在源代码中有这样的功能。

1 个答案:

答案 0 :(得分:2)

好的,所以我找到了原因。他们已经改变了1.0.9和1.1.1之间的API。我的聚合物是版本1.0.9,这就是为什么它没有工作。 我已将所有聚合物元素更新到最新版本,现在可以使用。