复制代码
handleSpecialParam: function (data) {
var k, i, len, item;
for (k in data) {
if (_.isArray(data[k])) {
for (i = 0, len = data[k].length; i < len; i++) {
item = data[k][i];
if (this[‘customtHandle_’ + item.tagname]) {
this[‘customtHandle_’ + item.tagname](data[k][i], k);
} //if
} //for
} //if
} //for
},
_getDir: function (dir) {
var kv = { left: ‘fl’, right: ‘fr’ };
return kv[dir];
},
//处理back的按钮逻辑
customtHandle_back: function (item, dir) {
dir = this._getDir(dir);
item.itemFn = function () {
var str = ‘<a href=”<a href=”http://m.ctrip.com/html5/”>http://m.ctrip.com/html5/</a>” class=”cm-header-btn ‘ + dir + ‘ js_’ + item.tagname + ‘ ” >’;
if (item.value) {
str += item.value + ‘</a>’;
} else {
str += ‘<i class=”icon-‘ + item.tagname + ‘”></i></a>’;
}
return str;
};
},
当发现某个按钮不满足需求或者有定制化需求时,便想办法设置其itemFn即可,时候上这个代码可以直接写到初始化的json串去
花样百出的title
到title时,发现其表现便五花八门了,这个时候一般是根据不同的类型生成不同的HTML结构,框架给默认的几个选项,不支持便自己定制itemFn
复制代码
<% item = center; %>
<%if(typeof item.itemFn == ‘function’) { %>
<%=item.itemFn() %>
<%} else if(item.tagname==’title’ || item.tagname==’subtitle’) { %>
<h1 class=”cm-page-title js_<%=item.tagname %>” >
<%if(typeof(item.value) == ‘object’ && item.title.value == 2) { %>
<span class=”cm-title-l”><%=item.value[0]%></span>
<span class=”cm-title-s”><%=item.value[1]%></span>
<%} else { %>
<%=item.value %>
<%} %>
</h1>
<%} else if(item.tagname==’select’){ %>
<h1 class=”cm-page-select-title js_<%=item.tagname %>” >
<%=item.value %>
</h1>
<%} else if(item.tagname==’tabs’) { %>
<h1 class=”cm-page-tabs-title js_<%=item.tagname %>” >
<%for(j = 0; j < item.data.items.length; j ++) { %>
<span data-key=”<%=item.data.items[j].id %>” class=”<%if(item.data.index===j){ %>active<%} %>” ><%=item.data.items[j].name %></span>
<% } %>
</h1>
<% } else{ %>
<%} %>










