2016-05-12 7 views
-1

ich einen Unter Variable:zeigt mit einem Unterstrich Variable in der Konsole

<% var myVar = 1 %> 

Und ich zeigte es mit:

<% console.log(myVar) %> 

Was könnte ich meineVar direkt aus der Web-Browser-Konsole angezeigt verwenden?

+2

was meinen Sie, indem Sie es direkt anzeigen? auch für die Aufzeichnung, die Sie nichts mit Unterstreichung in diesem Code verwenden, so ist es nur Javascript;) – Pabs123

+0

Wenn Sie sagen, "Ich zeigte es mit' console.log (myVar) '", tut das nicht, was Sie wollen? Wenn Sie in der Browser-Konsole damit interagieren möchten, sollten Sie Zugriff darauf haben, wenn die Variable global definiert ist. – aug

+0

Was bedeutet diese Verschlüsse <% %>? – sylvain1264

Antwort

0

Kurze Antwort: Sie können nicht.

Lange Antwort: Wenn Sie eine Underscore-Vorlage kompilieren, erhalten Sie eine Funktion zurück. Alles in Ihrer Vorlage befindet sich in dieser Funktion. Zum Beispiel, wenn Sie sagen, dieses:

var t = _.template('<% var v = 11; %>'); 

und dann Blick auf t.source (die _.template bequem für Sie setzt), werden Sie etwas sehen:

function(obj) { 
    // Boilerplate set up stuff... 
    with(obj||{}) { 
     __p+=''; 
     var v = 11; // <-------------- There's your <%...%> 
     __p+=''; 
    } 
    return __p; 
} 

so Ihre var myVar innerhalb der ist Template-Funktion und myVar existiert nur im Rahmen dieser Funktion und Sie können nicht von außerhalb der Funktion erhalten.

Verwandte Themen