最近專案開發中用到了layuiadmin的單頁版進行開發,期間遇到一些問題,在此總結一二:
由於單頁面版本的視**件和靜態資源模組都是動態載入的,所以可能存在瀏覽器的本地快取問題,因此,為了避免改動後的檔案未及時生效,只需在入口頁面(預設為start/index.html
)中,找到layui.config
,修改其version
的值即可。
//開發環境version: new
date().gettime() //
重新整理頁面,都會更新一次快取
//生產環境
version: '1.2.0' //每次發布專案時,跟著改動下該屬性值即可更新靜態資源的快取
當試圖用動態模板輸出元素 的
時,務必注意不要將動態模板結構放在 select 內部,而應該將 select 整體放在動態模板內,然後在遍歷輸出 option,如:
由於 select 標籤的特殊性,很多人將放在了
select
標籤的裡面,導致無法正確輸出相應檢視,所以請務必糾正寫法。
需要對乙個已經渲染完畢的動態模板再次進行重新整理,可以借助 view 模組的 refresh 方法
然後在需要執行模版重新整理的地方執行
view('testid').refresh();
儘管admin.req()
方法會自動傳遞 token,但 layui 中涉及到介面請求的公共元件(如:table、upload)並不走 admin.req(),這時就需要你獲取本地儲存的 token 賦值給介面引數,方式如下:
方式一:設定單個 table 例項的 token
//設定單個 table 例項的請求 token
table.render(
,where:
});
//所有 table 例項均會有效,這樣就不用在每個 table.render() 都設定一次 token
table.set(
,where:
});
layedit.set( //這裡增加headers, data: {} //增加攜帶data
}});
注意: layedit.set 放在 layedit.build 前面的任意位置即可
找到layui-src/dist/layer/modules/layedit.js,複製解壓縮,搜尋 uploadimage,修改為:
o.render(, v.call(t, "img", , a)) : i.msg(e.msg || "上傳失敗")}})
Layui單頁版應用開發
1.拿到設計圖先熟悉整個業務,對複雜的功能實現問題先做思考能否實現,如若不能則用其它實現方法替代。3.命名規則 a.檔案命名全小寫單詞以下劃線分隔,動詞 名詞 或者 名詞 名詞 b.class和id命名全小寫單詞以連字元分隔,動詞 名詞 或者 名詞 名詞 c.變數命名駝峰式,如datalist d....
layuiAdmin 常見問題與解決方案
由於單頁面版本的視 件和靜態資源模組都是動態載入的,所以可能存在瀏覽器的本地快取問題,事實上我們也考慮到這個,因此,為了避免改動後的檔案未及時生效,你只需在入口頁面 預設為start index.html 中,找到layui.config,修改其version的值即可。version new dat...
單頁應用和多頁應用
每一次頁面跳轉的時候,後台伺服器都會給返回乙個新的html文件,這種型別的 也就是多頁 也叫做多頁應用。為什麼多頁應用的首屏時間快?首屏時間叫做頁面首個螢幕的內容展現的時間,當我們訪問頁面的時候,伺服器返回乙個html,頁面就會展示出來,這個過程只經歷了乙個http請求,所以頁面展示的速度非常快。為...