1

我是一名后端开发人员,试图围绕 JavaScript MVC 前端的勇敢新世界。我正在构建一个简单的 Ember-cli 应用程序(目前是 v1.12),我正在尝试通过ember-cli-mixpanel插件(v0.0.3)集成 mixpanel。

ember install ember-cli-mixpanel我已经node_modules通过packages.json.

对于新手来说,文档有点稀疏,但我读到了这个:

有一个手动步骤,其中包括我们在您的路由器中的包装器。只需使用 tracking_mixin.js 扩展您的路由器。

意味着我需要在我的应用程序中有这一行router.js

import TrackingMixin from './mixin/tracking_mixin';

但是,当应用程序加载时,这会在我的控制台中抛出:

未捕获的 TypeError:this.trackRouteChange 不是函数

trackRouteChange是从 mixin 调用的股票浏览量事件跟踪器,所以我认为这意味着它已正确加载......但我不确定。

我确实在environment.js其中正确设置了 mixpanel 配置内容:

混合面板:{

启用:真,

LOG_EVENT_TRACKING:真,

令牌:'supersecrettokenhere',

disable_auto_tracking: 假

},

任何见解将不胜感激。我敢肯定这很简单,但是在敲了一段时间之后,我想我只是碰到了一个障碍。

4

1 回答 1

1

您已导入 mixin,但需要将其传递给路由器,以便将 mixin 的功能和属性包含在路由器对象中。您可以传入 mixin,如下所示:

import TrackingMixin from './mixin/tracking_mixin';

var Router = Ember.Router.extend(TrackingMixin, {
  // TrackingMixin's functions and properties will now be mixed in to Router.
});
于 2015-08-12T07:53:13.017 回答