私は、角度ファクトリ/ファンクション名のマッピングを含む設定ファイルを読んでいます。ファクトリ/ファンクションの名前は、マッピングの文字列として格納されます。私は設定から読み込んだFactory/Functionをどのように実行できるのでしょうか?ファクトリ/ファンクションを文字列から呼び出す
window
にアクセスできない工場以外の場合はwindow[factory][functionName]()
と呼ぶことができます。
var factory;
var factoryName = getFactory(config.sendTelemetry);
if (factoryName === 'TelemetryFactory') {
factory = TelemetryFactory;
} else if (factoryName === 'DebugFactory') {
factory = DebugFactory;
}
factory[functionName]();
サンプル設定ファイル::
は、私のようなものに頼らなければならないでしょう
// Sample config file
var config = {
'sendTelemetry': {
'factory': 'TelemetryFactory',
'functionName': 'sendTelemetry'
},
'logDebug': {
'factory': 'DebugFactory',
'functionName': 'logDebug'
}
}
これは正しい構文ではありません – Alnitak
正しいです。私はちょうど工場が評価を必要としていることに気づいた。 –
'eval()'なしで行う方法はありますか? – Jon