我一直在Polymer元素上找到“找不到观察者方法”的错误

时间:2016-04-17 09:14:58

标签: javascript polymer

我创建了一个简单的聚合物元素,以按照订购顺序的相反顺序显示购物车项目(最新项目显示在顶部),以显示在我的商店的侧栏上。

为了实现这一点,我在cart属性上添加了一个观察者,通过反向排序数据来更新displayCart属性。一切都很简单:

<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="../bower_components/paper-styles/typography.html">

<dom-module id="controll-cart-summary">
<template>
    <style>
    </style>
    <style is="custom-style" include="shared-styles"></style>

    <paper-material elevation="3" lang="he">
        <h3>עגלת קניות</h3>

        <paper-menu class="shopping-cart">
            <template is="dom-repeat" items="{{cartDisplay}}" as="timeslot">
                <paper-item>
                    <div>[[timeslot.event.title]]</div>
                    <div>[[timeslot.price]]</div>
                </paper-item>
            </template>
        </paper-menu>

    </paper-material>
</template>
</dom-module>

<script>
    Polymer({
        is : 'controll-cart-summary',
        properties : {
            cart : {
                type: Array,
                observer: 'updateCart'
            },
            cartDisplay : Array,
        },

        ready : function() {
        },

        attached : function() {
        },

        updatecart : function() {
            this.cartDisplay = this.cart.reverse();
        }
    });
</script>

但每次加载元素时,我都会在控制台中收到此错误:

[controll-cart-summary::_observerEffect]: observer method `updateCart` not defined

我以前用观察者创建了元素,当我得到这个错误时,通常会出现一些简单的错误 - 但我在这里找不到任何这样的简单错误。我错过了什么?

1 个答案:

答案 0 :(得分:3)

我觉得案例差异在函数名称中很重要(不确定,我不是JS开发人员)

observer: 'updateCart'
                 ^

updatecart : function() {
      ^