我想“外包”我的逻辑函数,我需要超过3-4个类。因此,我创建了一个.js文件并输入了函数。但我没有为它创建一个类。相反,我使用以下语法:
var myMainClassWithTheFunction = require('./myMain...');
var FunctionHandler = {
myFunction(){
myMainClassWiththeFunction.testFunction();
}
}
module.exports = FunctionHandler在这个函数中,我想使用另一个类->的方法,该类的结构如下所示
class MyMainClass.. extends Component {
constructor(props){
super(props);
}
static testFunction(
alert("Test");
)
render(){...}
}
module.exports = MyMainClass;The class MyMainClass..。正在工作(检查了许多其他调用-但这些调用刚刚从其他类获得)
我还用一个功能非常好的函数myFunction ()测试了来自FunctionHandler的testAlert。
主要议题
只要我尝试从testFunction()调用MainClass,就会得到以下错误:
未定义不是函数(计算'myMainClass.testFunction()‘)
我的问题,,我如何解决这个问题?或者你知道更好的方法来外包逻辑行为吗?
发布于 2016-07-05 09:07:08
经过几个小时的搜索,我发现我的问题是:
如果你像我一样用一个
var填充你的var。您不能在另一个var中要求其他var,也不能在其他var's中使用var(在我的例子中是my FunctionHandlervar)。
溶液
我需要var中的类,这样我就可以使用它们了。
var FunctionHandler = {
var myMainClassWithTheFunction = require('./myMain...');
myFunction(){
myMainClassWiththeFunction.testFunction();
}
}module.exports = FunctionHandler
我敢肯定,如果很多人读了这篇文章,并认为“这很清楚”,他们就会睁大眼睛看,但对我来说,这是一个耗费时间的问题。希望任何人都能帮上忙
发布于 2016-07-01 18:10:50
您正在导出类ListViewMain而不是MyMainClass。我假设您在同一个文件中有多个类:ListViewMain和MyMainClass。要么将MyMainClass移动到单独的文件并导出MyMainClass,要么将导出更改为如下所示:
module.exports = {ListViewMain, MyMainClass};使用它
var {MyMainClass} = require('./myMainClass');或者,您可以使用ES6语法:
export class MyMainClass extends Component {...}使用它
import {MyMainClass} from './myMainClass';https://stackoverflow.com/questions/38143415
复制相似问题