无法实现ember-cli-mixpanel

时间:2015-08-08 14:56:08

标签: ember.js ember-cli-addons

我是一个后端开发人员试图围绕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配置内容:

  

mixpanel:{

     

已启用:true,

     

LOG_EVENT_TRACKING:true,

     

令牌:'supersecrettokenhere',

     

disable_auto_tracking:false

     

},

非常感谢任何见解。我确信这很简单但是在敲了一段时间之后,我觉得我只是碰到了一块。

1 个答案:

答案 0 :(得分: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.
});