Переменная доступа, прикрепленная к шаблону в скрипте приложения - PullRequest
0 голосов
/ 14 февраля 2019

Я читаю https://developers.google.com/apps-script/guides/html/templates,, пытаясь передать переменную в шаблон.Я придумал:

var html = HtmlService.createTemplateFromFile('RowPopup');
html.row = sendableRow;
var h =html.evaluate();
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
    .showModalDialog(h, 'Create Documents');

, который выдает всплывающее окно, как и ожидалось, без ошибок.В самом шаблоне у меня есть некоторые функции JS / jquery, такие как следующие, которые я хочу иметь возможность взаимодействовать с переданными данными:

   function buildOptionList(options) {
        var list = $('#optionList');
        list.empty();
        for (var i = 0; i < options.length; i++) {
            console.log(options[i]);
            list.append('<option value="' + options[i].toLowerCase() + '">' + options[i] + '</option>');
        }

Но я не могу найти, как получить доступ к переменной "строка«что я прикрепил к шаблону изнутри страницы.Как мне это сделать?

1 Ответ

0 голосов
/ 14 февраля 2019

Когда вы звоните .evaluate() Google создает HTML-документ из файла и переменных, которые вы указали.Он знает, какие разделы нужно оценить, используя печать скриплетов , например <?= row ?>.Эта оценка выполняется перед отправкой клиенту для отображения.Вы должны просто иметь возможность получить к нему доступ с помощью row, как показано в примере с связанным кодом.

var html = HtmlService.createTemplateFromFile('RowPopup');
html.row = sendableRow;
var h =html.evaluate();
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
    .showModalDialog(h, 'Create Documents');

//In the HTML file.
  <body>
    <?= row ?>
  </body>

Вместо этого вас может заинтересовать связь клиент-сервер для получения данных после загрузки HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...