把界面做了下模块化封装。把主要的js贴上来吧。
项目截图
看到没,主要的views里就放各个界面要用模板文件
/**
项目JS主入口
**/
var view_path = './views';
layui.define(['layer', 'element'], function (exports) {
var layer = layui.layer
, element = layui.element
, $ = layui.$;
var check = function () {
var router = layui.router(location.hash)
, params = router.search
, path = router.path;
// 通过 path 获得对应 view
var view_path = './views', view_html = '';
for (i = 0; i < path.length; i++) {
view_path = view_path + '/' + path[i];
}
if (!path[0]) {
view_path = view_path + '/index';
}
if (!path[1]) {
view_path = view_path + '/index';
}
view_path += '.aardio';
//这是调用aardio的函数,网页里要屏蔽,最终上线时都要屏蔽
external.conlog(path);
external.conlog(view_path);
var loading = layer.load(2);
$.ajax({
type: 'get'
, url: view_path
, success: function (res) {
// 填充到页面
$('.content').html(res);
layer.close(loading);
}
, error: function (res) {
layer.msg('模板不存在');
layer.close(loading);
return 0;
}
});
};
check();
window.addEventListener('hashchange', function () { //添加事件监听,锚部分发生变化时执行
check();
});
/* $(".layui-layout-left .layui-nav-item a").click(function(){
check();
});*/
exports('app', {});
});经过试验,快速点动却换的时候有报内存不足,暂时不管它。
直接打包传附件吧。