Прототип - Шаблоны
Шаблоны используются для форматирования группы однотипных объектов и для создания форматированного вывода для этих объектов.
Prototype предоставляет класс Template , который имеет два метода:
Template()- Это метод конструктора, который используется для создания объекта шаблона и вызова метода Assessment () для применения шаблона.
evaluate() - Этот метод используется для применения шаблона для форматирования объекта.
Для создания форматированного вывода требуется три шага.
Create a template- Это включает создание предварительно отформатированного текста. Этот текст содержит форматированный контент вместе с#{fieldName}значения. Эти#{fieldName}значения будут заменены фактическими значениями при вызове метода eval () с фактическими значениями.
Defining actual values- Это включает создание фактических значений в форме ключей и значений. Эти ключи будут отображены в шаблоне и будут заменены соответствующими значениями.
Mapping Keys and replacing Values- Это последний шаг, на котором будет вызвана оценка () , и все ключи, доступные в отформатированном объекте, будут заменены определенными значениями.
Пример1
Шаг 1
Создайте шаблон.
var myTemplate = new Template('The \ TV show #{title} was directed by #{author}.');
Шаг 2
Подготовьте наш набор значений, который будет передан в указанном выше объекте для получения форматированного вывода.
var record1 = {title: 'Metrix', author:'Arun Pandey'};
var record2 = {title: 'Junoon', author:'Manusha'};
var record3 = {title: 'Red Moon', author:'Paul, John'};
var record4 = {title: 'Henai', author:'Robert'};
var records = [record1, record2, record3, record4 ];
Шаг 3
Последний шаг - заполнить все значения в шаблоне и получить следующий конечный результат:
records.each( function(conv) {
alert( "Formatted Output : " + myTemplate.evaluate(conv) );
});
Итак, давайте объединим все эти три шага -
<html>
<head>
<title>Prototype examples</title>
<script type = "text/javascript" src = "/javascript/prototype.js"></script>
<script>
function showResult() {
// Create template with formatted content and placeholders.
var myTemplate = new Template('The \ TV show #{title} was directed by #{author}.');
// Create hashes with the required values for placeholders
var record1 = {title: 'Metrix', author:'Arun Pandey'};
var record2 = {title: 'Junoon', author:'Manusha'};
var record3 = {title: 'Red Moon', author:'Paul, John'};
var record4 = {title: 'Henai', author:'Robert'};
var records = [record1, record2, record3, record4 ];
// Now apply template to produce desired formatted output
records.each( function(conv) {
alert( "Formatted Output : " + myTemplate.evaluate(conv) );
});
}
</script>
</head>
<body>
<p>Click the button to see the result.</p>
<br />
<br />
<input type = "button" value = "Result" onclick = "showResult();"/>
</body>
</html>
Это даст следующий результат -