1. 关于后台管理页面中 tabsPannel 标签下的问题
1. 代码背景
Solo 前端源码中后台管理里面统一是以 admin-index.ftl 为主页面,而其他功能(文章、用户)则分开放在其他 flt 文件中,通过异步来加载其他功能页面
2. 我们先简单回顾下代码的思路
整体设计如下 : (帮助您回想下,嘿嘿)
<div id="tabsPanel">
<div id="tabsPanel_main" class="none">
<div id="tabsPanel_article" class="none">
<div id="tabsPanel_article-list" class="none">
<div id="tabsPanel_draft-list" class="none">
<div id="tabsPanel_link-list" class="none">
<div id="tabsPanel_preference" class="none">
<div id="tabsPanel_page-list" class="none">
<div id="tabsPanel_others" class="none">
<div id="tabsPanel_user-list" class="none">
<div id="tabsPanel_comment-list" class="none">
<div id="tabsPanel_plugin-list" class="none">
<div id="tabsPanel_about" class="none">
然后我们通过调用 Jquery 的 load 方法来加载上面的子模块页面:比如加载 admin-user-list.ftl 页面
$("#tabsPanel_" + tab).load("admin-" + tab + ".do", function () {
// 页面加载完后,回调初始函数
if (tab === "article" && admin.article.status.id) {
// 当文章页面编辑器未初始化时,调用更新文章需先初始化编辑器
admin.register[tab].init.call(admin.register[tab].obj, admin.article.getAndSet);
} else {
admin.register[tab].init.call(admin.register[tab].obj, tags.page);
}
// 页面包含子 tab,需根据 hash 定位到相应的 tab
if (subTab) {
$("#tab" + tab.substring(0, 1).toUpperCase() + tab.substring(1)).
tabs("setCurrent", subTab);
}
// 根据 hash 调用现有的插件函数
admin.plugin.setCurByHash(tags);
});
最后 load 方法会把服务器中得到的数据插入到 id 为 tabsPanel_user-list 的 div 标签下。
3. 那么问题是:
为什么 load 方法加载完页面后, <div id="tabsPanel_user-list" class="none">
的属性会从 display:none
变成 display: block
,如果自己在加一个新的 div 标签 <div id="tabsPanel_user-new" class="none">
即使在 load 完页面后,属性依旧是 display:none
2. admin.min.js
的问题确认(续 Github 上的提问)
管理后台依赖的 JS 压缩合并 —— 意思就是:把那些的依赖的 js 压缩成一个 min js 文件的意思吗?
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于