Prototype - 模板
模板用于格式化一组相似的对象,并为这些对象生成格式化的输出。
Prototype 提供了一个 Template 类,它有两个方法 −
Template() − 这是一个构造函数方法,用于创建模板对象并调用 evaluate() 方法来应用模板。
evaluate() − 此方法用于应用模板来格式化对象。
创建格式化的输出涉及三个步骤。
创建模板 − 这涉及创建预格式化的文本。此文本包含格式化的内容以及 #{fieldName> 值。当使用实际值调用 evaluate() 方法时,这些 #{fieldName> 值将被实际值替换。
定义实际值 − 这涉及以键和值的形式创建实际值。这些键将在模板中映射,并将由相应的值替换。
映射键和替换值 −这是最后一步,将调用 evaluate(),格式化对象中可用的所有键都将被定义的值替换。
示例 1
步骤 1
创建模板。
var myTemplate = new Template('The \ TV show #{title} was director 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( "格式化输出:" + myTemplate.evaluate(conv) );
});
那么,让我们将这三个步骤放在一起 −
<html>
<head>
<title>Prototype examples</title>
<script type = "text/javascript" src = "/javascript/prototype.js"></script>
<script>
function showResult() {
// 创建带有格式化内容和占位符的模板。
var myTemplate = new Template('The \ TV show #{title} was director by #{author}.');
// 创建带有占位符所需值的哈希
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 ];
// 现在应用模板以生成所需的格式化输出
records.each( function(conv) {
alert( "Formatted Output : " + myTemplate.evaluate(conv) );
});
}
</script>
</head>
<body>
<p>单击按钮查看结果。</p>
<br />
<br />
<input type = "button" value = "Result" onclick = "showResult();"/>
</body>
</html>
这将产生以下结果 −

