2017-12-19 13 views
0

これがなぜ機能しないのか理解しようとしています。ページの残りの部分はうまくロードされますが、メニュー項目は「HtmlOutput」と表示されます。ボタンやリンク、テキスト以外は表示されません。 mBar divの何も表示されません - テキスト( "HtmlOutput")。私も印刷を試みて、menuBar.htmlファイルにscickpletを強制的に印刷しました。テンプレートページのGASネスティングスクリプレット

Code.gs

function doGet(e) { 
    var html = HtmlService 
    .createTemplateFromFile('index') 
    .evaluate() 
    .setSandboxMode(HtmlService.SandboxMode.IFRAME); 
    return html; 
} 

function include(file, appData) { 

    var component = HtmlService.createTemplateFromFile(file); 
    component.data = appData; 
    return component.evaluate(); 

} 

index.htmlを

<div id="mainContent" class="w3-hide"> 

    <!-- Menu Bar --> 
    <?= include('menuBar', oUser)?> 

</div> 

menuBar.html

<div class="mBar"> 
    <a href="#" class="mBarItem">Select Period</a> 
    <? if (data.isAdmin == true) { ?> 
    <a href="#" class="mBarItem">Manage Periods</a> 
    <a href="#" class="mBarItem">Manage Users</a> 
    <? } ?> 

</div> 

答えて

0

function include(file, appData) { 
    var component = HtmlService.createTemplateFromFile(file); 
    component.data = appData; 
    return component.evaluate().getContent(); 
} 

は、編集::関数はタイプ文字列を返すので、それをこのように変更する必要があります含ま

また、あなたの付属htmlコードのエスケープを避けるためにforce-printing scriptletsを使用する必要があります(「注意 "記号):

<?!= include('menuBar', oUser)?> 
+0

は、私が(のgetContentを追加しました)、それはだ、すべてはテキストで吐き出し - HTMLはテキストとしてではなく、HTMLコードに出くわす –

+0

更新答え、あなたが出力 – Kos

+0

ための力印刷フォーマットを使用してください。私は配列オブジェクトを渡したので、data [0] .isAdminになっているはずです。 ありがとうございました!ありがとうございます。 –

関連する問題