我是一个后端开发人员试图围绕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
},
非常感谢任何见解。我确信这很简单但是在敲了一段时间之后,我觉得我只是碰到了一块。
答案 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.
});