命令模式:将请求与实现解耦并封装成独立对象,从而使不同的请求对客户端的实现参数化。
var viewCommand = (function(){
var tpl = {
product : [
'<div>',
'<img src="{#src#}" />',
'<p>{#img#}</p>',
'<div/>'
].join(''),
title : [
].join(''),
},
html = '';
var formateString(str,obj){
return str.replace(/\{#(\w+)#\}/g,function(match,key){
return obj[key];
})
}
var Action = {
create : function(data, view){
if(data.length){
for(var i = 0, len = data.length; i<len;i++){
html += formateString(tpl[view], data[i]);
}
}else{
html += formateString(tpl[view], data);
}
},
display : function(container, data, view){
if(data){
this.create(data, view);
}
document.getElementById(container).innerHTML = html;
html = '';