Mixin中的Ember访问变量

时间:2016-02-02 13:10:41

标签: javascript ember.js mixins

import Ember from 'ember';
import myConst from '../utils/constants';

export default Ember.Mixin.create(myConst, {
  getFieldId: function(productCode) {
        console.log(myConst.MY_METHODS.FIELD_ID); //Not able to access this
  }
});

我的constants.js看起来像

var myConst = {};

myConst.MY_METHODS = {
        FIELD_ID: "fieldId"
};

export default myConst;

我无法访问mixin中的myConst。我做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为你在这里混淆了几个概念。在您的示例中,myConst是一个包含一些默认值的实用程序模块,对吧?在这种情况下,你不想把它混合到你的mixin中(你正在使用Ember.Mixin.create(myConst, {...})。你应该做这样的事情:

import Ember from 'ember';
import myConst from '<app-name>/utils/constants';

export default Ember.Mixin.create({
  getFieldId: function(productCode) {
    console.log(myConst.MY_METHODS.FIELD_ID);
  }
});

如果这不起作用,则可能与您的import路径有关。我只需console.log myConst开始调试,以确保您的模块中有预期的对象。