ace admin 1.4
出现循环加载,主要是因为找不到页面,
需要ajax加载的div
<div class="page-content-area" data-ajax-content="true">
<!-- ajax content goes here -->
</div>
修改ace-1.4.0\assets\js\src\ace.basics.js
var demo_ajax_options = {
'close_active': true,
close_mobile_menu: '#sidebar',
close_dropdowns: true,
'default_url': 'page/index',//default hash
'content_url': function(hash) {
//***NOTE***
//this is for Ace demo only, you should change it to return a valid URL
//please refer to documentation for more info
if( !hash.match(/^page\//) ) return false;
var path = document.location.pathname;
//for example in Ace HTML demo version we convert /ajax/index.html#page/gallery to > /ajax/content/gallery.html and load it
if(path.match(/(\/ajax\/)(index\.html)?/))
return path.replace(/(\/ajax\/)(index\.html)?/, '/ajax/content/'+hash.replace(/^page\//, '')+'.html') ;
//for example in Ace PHP demo version we convert "ajax.php#page/dashboard" to "ajax.php?page=dashboard" and load it
return path + "?" + hash.replace(/\//, "=");
}
}
修改为自己的逻辑
'default_url': '/welcome',
return contextPath + hash; (contextPath是预置的)
var demo_ajax_options = {
'close_active': true,
close_mobile_menu: '#sidebar',
close_dropdowns: true,
// 'default_url': 'page/index',//default hash
'default_url': '/welcome',//default hash
'content_url': function(hash) {
// //***NOTE***
// //this is for Ace demo only, you should change it to return a valid URL
// //please refer to documentation for more info
//
// if( !hash.match(/^page\//) ) return false;
// var path = document.location.pathname;
//
// //for example in Ace HTML demo version we convert /ajax/index.html#page/gallery to > /ajax/content/gallery.html and load it
// if(path.match(/(\/ajax\/)(index\.html)?/))
// return path.replace(/(\/ajax\/)(index\.html)?/, '/ajax/content/'+hash.replace(/^page\//, '')+'.html') ;
//
// //for example in Ace PHP demo version we convert "ajax.php#page/dashboard" to "ajax.php?page=dashboard" and load it
// return path + "?" + hash.replace(/\//, "=");
if(hash==""){
if(window.Pace && Pace.running) Pace.stop();
$(this).ace_ajax('stopLoading', true);
}
return contextPath + hash;
}
}
菜单栏说明
<a data-url="/welcome" href="#/welcome">
<i class="menu-icon fa fa-tachometer"></i>
<span class="menu-text"> Dashboard </span>
</a>
href是链接
data-url 当前页面地址与之对应时高亮选中
参考:
Ace Admin 使用教程