当前位置:网站首页>基於JEECG-BOOT的list頁面的地址欄參數傳遞
基於JEECG-BOOT的list頁面的地址欄參數傳遞
2022-07-06 06:25:00 【瀚嶽-諸葛弩】
前置知識:
1、什麼是地址欄參數傳遞?地址欄參數傳遞的格式是什麼(?變量1=值1&變量2=值2……)
2、如果通過JavaScript獲取地址欄參數(網上有各種解决方案)
我的方法(放到util.js裏):
export function getUrlParam(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return decodeURI(r[2]); return '';
}
3、對jeecg的mixin的了解(看代碼,看開發文檔)
主要實現:
1、構建通用的地址欄參數獲取方法
因為地址欄參數獲取是非常常用的方法,所以在網上找到js地址欄參數獲取解决方案後,可將其添加到jeecg-boot的:src/utils/util.js中
/**
* 從地址欄獲取指定參數
* @param {*} name
*/
export function getUrlParam(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return decodeURI(r[2]); return '';
}
2、JEECG-BOOT中代碼的理解
關鍵:src/mixins/JeecgListMixin.js
(1)混入覆蓋:這個mixin.js是jeecg為了簡化前端操作,將很多通用代碼進行了包裝。同時,jeecg-boot也為我們提供了可以混入的接口,
上圖中的disableMixinCreated就是這個混入覆蓋的判斷變量
(2)條件生成
上圖中的queryParam就是根據實體要構建的過濾條件,上圖的方法在loadData(arg)中被調用,如下:
(3)數據獲取
Jeecg-boot對axios進行了進一步封裝,這裏是getAction,還有個postAction等,分別執行不同類型的請求,在使用過程中直接調用就好,具體代碼在:src/api/manage.js(這裏不詳述,因為不用去修改)
getAction,postActon等是我們在編寫代碼時經常要用到的,所以此處可以看下jeecg的官方調用代碼,方便後續自行模擬編寫。
3、list頁面的代碼編寫
明白第2步的原理後,在第1步的基礎上我們就可以非常簡單地實現list頁面參數的傳遞與配置:
(1)在list頁面的data部分設置:disableMixinCreated:true
(2)在created部分獲取參數,並調用mixin代碼
注意:(1)如果在list頁面不配置disableMixinCreated:true,那麼代碼將不會混入覆蓋,list請求將被加載兩次。
(2)如果第2步看不明白,沒關系,就先將第1步的代碼放到util.js中,然後按照第3步方法直接在list頁面中編寫代碼即可。
边栏推荐
- G - Supermarket
- 「 WEB测试工程师 」岗位一面总结
- 【无App Push 通用测试方案
- On weak network test of special test
- MFC dynamically creates dialog boxes and changes the size and position of controls
- JWT-JSON WEB TOKEN
- Database - current read and snapshot read
- Simulation volume leetcode [general] 1143 Longest common subsequence
- MySQL之数据类型
- 调用链监控Zipkin、sleuth搭建与整合
猜你喜欢
mysql按照首字母排序
在JEECG-boot代码生成的基础上修改list页面(结合自定义的组件)
G - Supermarket
[postman] collections - run the imported data file of the configuration
JDBC requset corresponding content and function introduction
B - The Suspects
使用Nacos管理配置
Understanding of processes and threads
基于JEECG-BOOT制作“左树右表”交互页面
自定义指定路由上的Gateway过滤器工厂
随机推荐
Coordinatorlayout+nestedscrollview+recyclerview pull up the bottom display is incomplete
MFC dynamically creates dialog boxes and changes the size and position of controls
数据库-当前读与快照读
[postman] the monitors monitoring API can run periodically
Summary of the post of "Web Test Engineer"
Full link voltage measurement: building three models
还在为如何编写Web自动化测试用例而烦恼嘛?资深测试工程师手把手教你Selenium 测试用例编写
F - true liars (category and search set +dp)
org. activiti. bpmn. exceptions. XMLException: cvc-complex-type. 2.4. a: Invalid content beginning with element 'outgoing' was found
MFC 动态创建的对话框及改变控件的大小和位置
Caused by:org. gradle. api. internal. plugins . PluginApplicationException: Failed to apply plugin
JWT-JSON WEB TOKEN
The whole process realizes the single sign on function and the solution of "canceltoken" of undefined when the request is canceled
Redis 核心技术与实战之 基本架构:一个键值数据库包含什么?
Delete the variables added to watch1 in keil MDK
全程实现单点登录功能和请求被取消报错“cancelToken“ of undefined的解决方法
记一个基于JEECG-BOOT的比较复杂的增删改功能的实现
模拟卷Leetcode【普通】1109. 航班预订统计
ESP32 ESP-IDF看门狗TWDT
[eolink] PC client installation