0

我正在处理这个错误,但我不断收到以下错误 -

TypeError: this.parts[1].reviewMoment is not a function

我正在使用 jQuery 和骨干网。不幸的是,我对 JS 不是很熟悉,也不知道为什么这条线断了。

define([
    "jquery",
    "underscore",
], function($, _) {

    reviewMoment: function(place) {
         this.collection.bind("add", _.once(_.bind(this.triggerReview, this)));
         this.collection.addMomentByPlace(place);
     },
     triggerReview: function() {
         this.parts[(this.matchView ? 2 : 1)].reviewMoment();
         if(this.matchView) {
             this.matchView.search.close();
         }
     }
  });
});

为什么reviewMoment不考虑函数?

谢谢。

4

1 回答 1

0

它不是一个函数,因为您实际上并没有创建一个{}可以使用该identifier:property符号的对象文字。要创建有效的函数定义,请在函数周围放置一个带有对象字面量的 return 语句:

define([
    "jquery",
    "underscore",
], function($, _) {
    return {
        reviewMoment: function(place) {
            this.collection.bind("add", _.once(_.bind(this.triggerReview, this)));
            this.collection.addMomentByPlace(place);
        },
        triggerReview: function() {
            this.parts[(this.matchView ? 2 : 1)].reviewMoment();
            if(this.matchView) {
                this.matchView.search.close();
            }
        }
    }
  });
});
于 2013-02-09T02:26:05.537 回答