Магистральный шаблон - PullRequest
5 голосов
/ 19 марта 2012

Я очень новичок в магистральной сети, но мне удается заставить ее работать из учебника.Но когда я хочу перенести это приложение на базовый шаблон, я застрял в шаблоне.Как мне получить доступ к моей модели из моего шаблона?или даже из самого файла js?Я застрял здесь на некоторое время.

Магистральная магистраль относится к https://github.com/tbranyen/backbone-boilerplate

1 Ответ

4 голосов
/ 19 марта 2012

Для большинства библиотек шаблонов javascript шаблонирование происходит в два этапа.

  1. Передать строку (обычно содержащую HTML) в функцию компиляции движка шаблонов. Это возвращает вам «шаблонную функцию», которую вы можете выполнить. Это должно происходить только один раз для каждого шаблона в течение срока службы вашего приложения.
  2. Визуализация шаблона в выводе (обычно HTML) путем вызова функции скомпилированного шаблона и предоставления «контекста» данных, которые будут доступны для шаблона. Это можно сделать несколько раз с разными контекстными данными для вывода другого HTML.

.

//Compile your template string into a function
//Happens 1 time only then you can cache the function
var templateFunction = _.template("<p>Your <%- part %> is so <%- description %></p>");

//Generate your output HTML with varying sets of data.
var html1 = templateFunction({part: "nose", description: "big"});
//html1 has "<p>Your nose is so big</p>";
var html2 = templateFunction({part: "cat", description: "fat"});
//html2 has "<p>Your cat is so fat</p>";

Это та же самая основная идея для шаблонов подчеркивания, JST, Jade и большинства других шаблонизаторов. «Контекстные данные» - это то, как ваш шаблон получает доступ к вашей модели. Если вы хотите, вы можете предоставить ему прямой доступ к базовой модели, предоставив такой контекст, как: {model: myModel};. Тогда в вашем шаблоне вы можете сделать что-то вроде <%= model.get("displayName") %>.

...