2017-03-29 1 views
-1

Ich möchte den Wert hier einfügen, um das JSON zum Backend zu senden, aber es nicht zu bekommen.Nicht in der Lage, auf den Wert in einer Methode in anderen zuzugreifen

var generateSearchObject = function() { 
    var searchObj = { 
     "fileName": change, // Here the fileName should be "Change Data" 
     "tabType": text.toUpperCase(), 
     "offset": offValue, 
    }; 
    return searchObj; 
}; 
var renderCrumbs = function(breadCrumbs, state, node) { 
    var change = "Change Data"; 
} 

Bitte helfen!

Antwort

1

Zunächst macht renderCrumbs: function(breadCrumbs, state, node) { ... } keinen Sinn, weil Sie Object Eigenschaftsnotation ohne Objekt verwenden, das gefunden werden soll. Wenn es in einem Object enthalten ist, das im Codeausschnitt nicht sichtbar ist, dann ist alles in Ordnung, aber bedenken Sie, dass Sie auf das Objekt verweisen müssen, um die Funktion im folgenden Code-Ausschnitt aufzurufen, z. obj.renderCrumbs().

Zweitens, und möglicherweise problematisch, könnten Sie versucht sein, als global zu verwenden. Tun Sie das nicht, Globals sind schlecht. Read more here. Weitere Informationen gibt es an anderer Stelle mit ein wenig googeln.

Die beste Lösung, die ich sehen kann, ist die Funktionalität von renderCrumbs zu

function renderCrumbs(breadCrumbs, state, node) { 
    return 'Change Data'; 
} 

zu ändern, und dann können Sie

var generateSearchObject = function() { 
    var searchObj = { 
     "fileName": renderCrumbs(), 
     "tabType": text.toUpperCase(), 
     "offset": offValue, 
    }; 
    return searchObj; 
}; 
+0

tun sehe ich einen Fehler renderCrubs() nicht –

+0

definiert Wenn ja alles, was ich gesagt habe, dann brauche ich mehr Code, um zu sehen, wo das Problem liegt. – Jack

+0

http://jsfiddle.net/5e2hq95y/6/ –

Verwandte Themen