2016-06-29 6 views
0

Hier verwenden ist die Vorlage, ich versuche zu bewerten:eine oder Anweisung in Vorlage

<div class='block'> 
       <h4> Info </h4> 
       <input type="text" value='<?= exampleId || "" ?>' id="example-id"> 
       <br> 
       <label for="name">Name</label> 
       <input type='text' id='name' value='<?= name || "" ?>'> 
      </div> 

Ich betreibe:

HtmlService.createTemplateFromFile('Index').evaluate()

Diese Codezeile stürzt mit einem Referenzfehler unten erklärt .

In meiner Vorlage, Ich versuche, eine OR-Anweisung, ex zu verwenden:

<?= exampleId || "" ?>

Ich erhalte eine Fehlerreferenzfehlermeldung, exampleId nicht gefunden wird.

Würde nicht exampleId zu "undefined" auswerten?

Ex:

var someObj = {}; 
somObj.exampleId // ===> undefined 

someObj.examplId || 'hello world' // ===> 'hello world' 

Warum die Vorlage nicht den Ausdruck auswerten?

+0

Versuchen Sie, den HTML-Inhalt nach einem Wert zu durchsuchen? –

Antwort

1

Zitat von der Dokumentation:

Innerhalb eines scriptlet können Sie einen beliebigen Code schreiben, der in einem normalen Apps Script-Datei funktionieren würde:

Wenn dieser Code im Code-Editor ausgeführt wird:

function test() { 
    return exampleId || ""; 
} 

function runThis() { 
    Logger.log(test()) 
} 

Es erzeugt einen Fehler.

Der einzige Weg, dass:

<?= exampleId || "" ?> 

funktionieren wird, ist, wenn exampleId als globale Variable deklariert wird.

var exampleId;//Declared outside of any function block 

Gehen zum Beispiel zurück, auch wenn es ein Test für nicht definiert ist:

if (exampleId===undefined) {return ""}; 

Es gibt immer noch einen Fehler im Code-Editor.

So wird es nicht im Code-Editor ausgeführt.

wollte ich testen, ob es im Browser laufen würde:

<script> 
    exampleId || ""; 
</script> 

Das erzeugt und Fehler in der Konsole.

+0

Hey Sandy, danke für den Input! Wenn ich das in der Chrome-Konsole starte: 'exampleId || "" ', es gibt die leere Zeichenfolge zurück. Die Vorlage meines Verständnisses wird sich selbst nach allen Eigenschaften anschauen, die ihr zugewiesen sind. – HelloWorld

Verwandte Themen