Я пытаюсь использовать underscore.js в HTML-файле, размещенном на узле-экспресс-сервере. Этот файл используется для визуализации динамических данных на стороне клиента. Ниже приведены коды:underscore.js с node-express
в app.js:
var cons = require('consolidate');
app.engine('html', cons.underscore);
app.set('view engine', 'html');
app.locals._ = require("underscore");
в HTML:
var template = _.template($('#client-list-template').html(), {clients: response});
здесь "ответ" является JSON
в одном HTML под шаблон сценария
<script id ="client-list-template", type='text/template'>
<table class="table striped">
<thead>
<tr>
<th>ID</th><th></th>
</tr>
</thead>
<tbody>
<% _.each(clients, function(client) { %>
<tr>
<td><%= client.clientID %></td>
<td><a class="btn">Edit</a></td>
</tr>
<% }); %>
</tbody>
</table>
</script>
Эксплуатация этого ошибки и ошибки в коде:
ReferenceError: clients is not defined
Может кто-то, пожалуйста, помогите мне понять, что такое ошибка и как ее решить. Тот же HTML, размещенный на сервере Apache, отлично работает.
Вы вошли в систему 'response'? похоже, что он может быть не определен –
'_.template' не принимает два аргумента. Он принимает один (шаблон) и возвращает функцию, которая сама принимает один аргумент (данные). – Jack
@Jack Это фактически [принимает два аргумента] (http://underscorejs.org/#template), но второй - это не данные, это настройки для строки шаблона. Но да, Винни, ты должен делать то, что он говорит. – jakerella