在 JS 中访问导入模块中的私有函数?
Access private functions in imported module in JS?
我有 Ember 组件,其中定义了一些功能,例如:
export default Ember.Component.extend({
_someFunction: function(){}
});
现在,如果我在其他组件中导入此组件:
import FirstComponent from 'somePath...';
我可以从 FirstComponent 调用 _someFunction 吗?如何调用?
我试过 FirstComponent._someFunction(),但出现错误(不是函数)。
我可以在 Ember 组件之外定义此函数并单独导出此函数,但还有其他方法吗?
因为 Ember.Component
是一个 class 并且您在其中有实例方法 _someFunction
。您必须先创建它的实例才能访问该方法。因此你应该尝试
const instance = FirstComponent.create();
instance._someFunction();
我有 Ember 组件,其中定义了一些功能,例如:
export default Ember.Component.extend({
_someFunction: function(){}
});
现在,如果我在其他组件中导入此组件:
import FirstComponent from 'somePath...';
我可以从 FirstComponent 调用 _someFunction 吗?如何调用? 我试过 FirstComponent._someFunction(),但出现错误(不是函数)。
我可以在 Ember 组件之外定义此函数并单独导出此函数,但还有其他方法吗?
因为 Ember.Component
是一个 class 并且您在其中有实例方法 _someFunction
。您必须先创建它的实例才能访问该方法。因此你应该尝试
const instance = FirstComponent.create();
instance._someFunction();