Vue table不分页 动态加载数据(类似手机端滑动到底端后再去获取数据)

2023-11-05

最近接到一个需求,pc端中的table 数据不做分页,而是做成滚动条形式,但是table中的数据还是一次显示50条,等这50条滑动到底部后,再去加载50条(有加载效果),以此类推,直到数据全部展示。
值得注意的是: 我的需求是 第一次请求数据就将全部数据都获取到,后期的数据加载实际上是不走后台接口的,是纯前端数据处理

1、首先要确定 加载数据的时机是:table中的滚动条滑动到底部的时候

scrollEvent(event) {
      /**
       * 需要判断滚动条是否到达table底部,到达底部时才应该加载数据
       * $('.d-table .d-table-body')[0].clientHeight 为table的body部分的可视高度
       * $('.d-table .d-table-body')[0].scrollHeight 为table的body部分的实际的总高度
       * $('.d-table .d-table-body')[0].scrollTop 为table的body部分已滚动了多少高度
       * 可以用scrollTop + clientHeight == scrollHeight 判断滚动条是否到达了底部
       */
      if($('.d-table .d-table-body')[0].scrollTop + $('.d-table .d-table-body')[0].clientHeight == $('.d-table .d-table-body')[0].scrollHeight){
      // 因为我的table 是封装好的,所以下面这个操作是 调用父组件的scrollEvent事件
        this.$emit("scrollEvent");
      }      
    },

2、走接口获取到全部数据,将前五十条展示到table中,同时将全部数据存起来

/** 因为 我获取到的数据,做了一些循环处理,所以是push到了一个数据中,
    正常可以直接 将获取到的data 赋值给一个数据,我限
*/
 // 用于 制造用滚动条 滚动到底部获取数据的效果
 if(self.restoreDataViewData.recordResult.length < 50 ){
     // 获取数据,将前50条渲染到table 中
    self.restoreDataViewData.recordResult.push(cols);
}
//完整数据留存
self.restoreDataViewData.recordResultCopy.push(cols)

3、当滚动到底部后,触发事件,进行下一段50条数据的补充展示

scrollEvent(){
	  // 这是 全部数据
      let copy = this.restoreDataViewData.recordResultCopy
      // 这是 当前页面中table的展示数据
      let resu = this.restoreDataViewData.recordResult
      // 当展示数据和全部数据相同时,不再继续往下走了
      if(resu.length == copy.length) return
      // 计算 总数据可以分为几个50 ,向上取整
      let count =  Math.ceil(copy.length / 50 )
      // 计算 当前数据可以分为几个50,向上取整
      let currentCount = Math.ceil(resu.length / 50)
      // 若即将加载的数据 已经为最后一次加载,那么会出现 剩余未加载的数据不足50  这时取实际长度
      let leg = currentCount + 1 == count ? copy.length : (currentCount + 1)*50
      // 两个数据 对 50 的倍数相等,证明数据全部加载,不往下走了
      if(currentCount < count){
        // 自己封装的页面loading show
        Dynamics365.ShowCover();
        /** 加上定时器因为,此次数据加载的数据是已经请求过的,
          因此定时器维持loading状态,否则它就只会闪一下,
         如果这个地方要走接口,就不必如此 */
        var tableT = setTimeout(()=>{
          for(var i = currentCount*50; i<= leg - 1 ; i++){
            this.restoreDataViewData.recordResult.push(copy[i])
          }
          // 页面loading  hide
          Dynamics365.HideCover();
        },300)
      }
    },

在这里插入图片描述滚动条滑动到底部,触发获取数据的事件(类似翻页)

-----补充使用 InfiniteScroll 无限滚动(elementui) 实现上述效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <!-- import CSS -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <style>
        body {
            padding: 20px 100px;
            background-color: #F2F6FC;
        }

        li {
            list-style: none;
        }

        .topWarp {
            margin-bottom: 20px;
        }

        .head-box {
            height: 50px;
            line-height: 50px;
            background-color: #fff;
            padding-left: 10px;
            border: 1px solid #eee;
            border-radius: 5px;
        }

        .head-box .head-left {
            padding-left: 5px;
            border-right: 1px solid #eee;
        }

        .head-box .head-right {
            height: 100%;
            padding-left: 20px;
        }


        .demo-table-expand {
            font-size: 0;
        }

        .demo-table-expand label {
            width: 90px;
            color: #99a9bf;
        }

        .demo-table-expand .el-form-item {
            margin-right: 0;
            margin-bottom: 0;
            width: 50%;
        }

        .expand-box {
            height: 300px;
            overflow: auto;
        }

        .expand-box .child-border {
            padding: 5px 10px;
            border-bottom: 2px solid #eee;
        }

        .expand-box .child-border .child-col {
            padding-bottom: 3px;
        }

        .scroll-footer {
            height: 2px;
            margin-top: 20px;
        }
    </style>
</head>

<body>
    <div id="app">
        <div class="topWarp">
            <el-row class="head-box">
                <el-col :span="4" class="head-left">TotalFiles : </el-col>
                <el-col :span="20" class="head-right">
                    {{jsonDateObj.TotalFiles}}
                </el-col>
            </el-row>
            <el-row class="head-box">
                <el-col :span="4" class="head-left">ScanLineCount : </el-col>
                <el-col :span="20" class="head-right">
                    {{jsonDateObj.ScanLineCount}}
                </el-col>
            </el-row>
            <el-row class="head-box">
                <el-col :span="4" class="head-left">ScanFileCount : </el-col>
                <el-col :span="20" class="head-right">
                    {{jsonDateObj.ScanFileCount}}
                </el-col>
            </el-row>
        </div>
        <el-table :data="tableDate" style="width: 100%; margin-top: 10px;" @expand-change="openRow">
            <el-table-column type="expand">
                <template slot-scope="props">
                    <div class="expand-box" id="scrollExpand">
                        <div class="infinite-list-wrapper" style="overflow:auto">
                            <ul class="list" v-infinite-scroll="load" infinite-scroll-disabled="disabled">
                                <li v-for="(item,index) in props.row.ReportDetails" class="list-item">
                                    <el-descriptions class="margin-top" :column="3" border>
                                        <template slot="title">
                                            <el-tag type="warning">
                                                数据{{index + 1}}
                                            </el-tag>
                                        </template>
                                        <el-descriptions-item>
                                            <template slot="label">
                                                <i class="el-icon-thumb"></i>
                                                Rule:
                                            </template>
                                            {{item.Rule}}
                                        </el-descriptions-item>
                                        <el-descriptions-item>
                                            <template slot="label">
                                                <i class="el-icon-thumb"></i>
                                                LineIndex:
                                            </template>
                                            {{item.LineIndex}}
                                        </el-descriptions-item>
                                        <el-descriptions-item>
                                            <template slot="label">
                                                <i class="el-icon-thumb"></i>
                                                LineCode:
                                            </template>
                                            {{item.LineCode}}
                                        </el-descriptions-item>
                                        <el-descriptions-item>
                                            <template slot="label">
                                                Ignore:
                                            </template>
                                            <el-tag size="small">
                                                <el-checkbox v-model="item.Ignore"></el-checkbox>
                                            </el-tag>
                                        </el-descriptions-item>
                                        <el-descriptions-item>
                                            <template slot="label">
                                                FileFullName:
                                            </template>
                                            {{item.FileFullName}}
                                        </el-descriptions-item>
                                    </el-descriptions>
                                </li>
                            </ul>
                            <p v-if="loading">加载中...</p>
                            <p v-if="noMore" style="text-align: center;">没有更多了</p>
                        </div>
                    </div>
                </template>
            </el-table-column>
            <el-table-column label="Total" prop="Total">
            </el-table-column>
            <el-table-column label="Rule" prop="Rule">
            </el-table-column>
            <el-table-column label="Ignore" prop="Ignore">
                <template slot-scope="scope">
                    <el-tag type="success">
                        <el-checkbox v-model="scope.row.Ignore"></el-checkbox>
                    </el-tag>
                </template>
            </el-table-column>
        </el-table>
    </div>
</body>
<!-- import Vue before Element -->
<script src="https://unpkg.com/vue@2/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
    new Vue({
        el: '#app',
        data: function () {
            return {
                loading: false,
                count: 10,
                currentPage: 1,
                currentNum: 10,
                currentTableRow: {},
                jsonDate:
                {
                    "TotalFiles": 28613,
                    "ScanLineCount": 0,
                    "ScanFileCount": 2375,
                    "RportTypes": [
                        {
                            "Total": 0,
                            "Rule": "None",
                            "Ignore": false,
                            "ReportDetails": []
                        },
                        {
                            "Total": 1,
                            "Rule": "InsecureDeserialization",
                            "Ignore": false,
                            "ReportDetails": [
                                {
                                    "Rule": "InsecureDeserialization",
                                    "LineIndex": 34,
                                    "FileFullName": "C:\\Wor",
                                    "Message": null,
                                    "LineCode": "var sdf = new BinaryFormatter();",
                                    "Ignore": false
                                }
                            ]
                        },
                        {
                            "Total": 21282,
                            "Rule": "ExcludeSubFolder",
                            "Ignore": false,
                            "ReportDetails": [
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                }, {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                }, {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "ExcludeSubFolder",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "BlackList",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "BlackList",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "BlackList",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                },
                                {
                                    "Rule": "BlackList",
                                    "LineIndex": 0,
                                    "FileFullName": "C:\\Work",
                                    "Message": null,
                                    "LineCode": null,
                                    "Ignore": false
                                }
                            ]
                        },
                        {
                            "Total": 0,
                            "Rule": "Password",
                            "Ignore": false,
                            "ReportDetails": []
                        },
                        {
                            "Total": 0,
                            "Rule": "Connection",
                            "Ignore": false,
                            "ReportDetails": []
                        },
                        {
                            "Total": 0,
                            "Rule": "Tls",
                            "Ignore": false,
                            "ReportDetails": []
                        }

                    ]
                },
                jsonDateObj: {},
                tableDate: [],
            }
        },
        created() {
            this.jsonDateObj = JSON.parse(JSON.stringify(this.jsonDate));
            this.tableDate = this.jsonDateObj.RportTypes;
            this.tableDate.forEach((item, i) => {
                item.index = i;
                item.spliceReportDetails = item.ReportDetails;
            })
        },
        computed: {
            noMore() {
                let showCount = 0;
                this.jsonDateObj.RportTypes.forEach(item => {
                    if (item.index === this.currentTableRow.index) {
                        showCount = item.ReportDetails.length;
                    }
                })
                let allCount = 1;
                allCount = this.currentTableRow.spliceReportDetails.length;
                return showCount >= allCount;
            },
            disabled() {
                return this.loading || this.noMore
            }
        },
        methods: {
            // table 当前打开 行 的 数据
            openRow(row, expandedRows) {
                this.currentTableRow = row;
            },
            load() {
                this.loading = true
                setTimeout(() => {
                    this.jsonDateObj.RportTypes.forEach(item => {
                        if (item.index === this.currentTableRow.index) {
                            let start = item.ReportDetails.length;
                            let end = start + this.currentNum;
                            let slicDate = item.spliceReportDetails.slice(start, end);
                            item.ReportDetails.push(...slicDate);
                        }
                    })

                    this.tableDate = this.jsonDateObj.RportTypes;
                    this.loading = false
                }, 5000)
            }
        }
    })
</script>

</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue table不分页 动态加载数据(类似手机端滑动到底端后再去获取数据) 的相关文章

  • Imgur API 版本 3 JavaScript 上传示例

    我在网上找到的所有示例都是早期版本的 Imgur API 或非 JS 代码 所有这些都使用新 API 中不存在的 API 密钥 相反 你会得到一个client id and secret 任何人都有示例代码 展示如何使用其 API 版本 3
  • 循环内的局部变量会被垃圾收集吗?

    我想知道将循环内引用的任何变量放在循环外是否更有效 或者它们可以像函数内的变量一样被垃圾收集吗 var obj key val for var i 0 i lt 10 i console log obj or for var i 0 i l
  • 将组件注册到现有的 Vue.js 实例

    我是 Vue js 新手 我想注册一个本地组件 如下所述 https v2 vuejs org v2 guide components html Local Registration https v2 vuejs org v2 guide
  • Visual Studio IDE 中功能后的空间

    如何设置 Visual Studio 中的设计以在我的 javascript 函数后面放置一个空格 目前 当我按下返回键时 我得到了这个 var myfunc function 当我想要这个的时候 var myfunc function 知
  • Amcharts 图表 - 图表列到自定义 URL 的超链接以在新选项卡/窗口中打开

    我正在尝试制作一个 amcharts 图表 其中的列链接到自定义网址 并希望网址在新选项卡 窗口中打开 我尝试将此代码添加到图形对象中 但它不起作用 它在同一选项卡 窗口中打开链接 listeners event clickItem met
  • Twitter Bootstrap 轮播在加载时自动播放

    使用twitter bootstrap框架 如何调用轮播来 自动滑动 这意味着当页面加载时 轮播会自动滚动 我尝试过 javascript onLoad click 函数 a 下一个链接的 但这不起作用 你应该这样做Twitter Boot
  • 变量前面加双下划线

    我的节点代码中有以下代码片段 var fs require fs fs readdir dirname function err files console log files 为什么变量 dirname 有双下划线 我知道一个下划线是私有
  • JavaScript 原型 - 请澄清

    有人可以帮我理解原型属性吗 我不明白原型属性是函数的属性还是函数内部的属性 假设我们创建以下构造函数 Food 此时 函数 Food 具有 Food prototype 属性 由于 Food 是 Object 的实例 因此这意味着 Obec
  • 禁用整个站点的 IE8 加速器

    是的 我知道有类似的问题 https stackoverflow com questions 499565 is it possible to disable ie8 accelerators on my website在 SO 上 但它已
  • FormData 中的 Blob 为 null

    我正在尝试通过远程 API 通过 ajax 在 android 中发送创建的照片 我在用着相机图片背景 https github com an rahulpandey cordova plugin camerapicturebackgrou
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • 很奇怪!调用 window.location 或 location.replace 会重定向到该页面,然后再次返回!

    我处于调试模式 因此我可以看到正在访问哪个页面 当我打电话时window location or window location replace 它会转到该页面 然后返回原始页面 怎么会这样 解决方案是添加 window location
  • 如何正确删除动画集中引用的 Raphael SVG 元素?

    我有一组动画 Raphael SVG 元素 我正在通过用户发起的 ajax 调用添加新元素并删除旧元素 我 set push 新元素 但因为我需要删除的元素通常不是集合中的最后一个元素 所以我使用 element remove 而不是 se
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除
  • d3力定向布局-链接距离优先

    在 d3 中使用力导向布局 如何使链接距离成为优先事项 同时仍然保持良好的图形布局 如果我指定动态链接距离 但保留默认费用 则我的图形距离会因费用函数而发生一些变形 并且不再是准确的距离 但是 如果我删除电荷 图表将如下所示 任何建议表示赞
  • 当选项卡重新加载(chrome 扩展)时,如何运行此脚本?

    所以我想在指定 URL 中重新加载选项卡时运行脚本 它几乎可以工作 但实际上 id 不能 这是我的清单文件 manifest version 2 name Sample Extension description Sample Chrome
  • 使用 div 或表格来包含链接列更好吗?

    我的页面底部有 3 列链接 每列都放入一个 div 中 所有三个 div 都包装在页面中央的一个大 div 中 这是更适合桌子的东西还是桌子不适合这项工作 您还可以使用 ul http www w3schools com tags tag
  • 使用 QtWebEngine 将 C++ 对象暴露给 Qt 中的 Javascript

    使用 QtWebkit 可以通过以下方式将 C 对象公开给 JavascriptQWebFrame addToJavaScriptWindowObject如中所述https stackoverflow com a 20685002 5959
  • React 错误:目标容器不是 DOM 元素

    我刚刚开始使用 React 所以这可能是一个非常简单的错误 但我们开始吧 我的html代码非常简单 load staticfiles

随机推荐

  • 设计模式(一)- 模板方法模式

    模板方法模式 文章目录 模板方法模式 1 模板方法模式 1 介绍 2 应用实例 代码 1 父类抽象模板 统一方法定为final 2 子类去实现不同的方法 3 其他子类实现不同的方法 4 结果展示 1 模板方法模式 在模板模式 Templat
  • 微信小程序 功能页导航 functional-page-navigator 组件

    完整微信小程序 Java后端 技术贴目录清单页面 必看 仅在插件中有效 用于跳转到插件功能页 属性 类型 默认值 必填 说明 最低版本 version string release 否 跳转到的小程序版本 线上版本必须设置为 release
  • linux安装idea并创建快捷方式

    一 安装 1 下载 在linux自带的火狐浏览器打开下载更方便 下载 IntelliJ IDEA JetBrains 功能强大 符合人体工程学的 Java IDE 选择Linux 这里以下载社区版为例 我下载的版本是2022 2 3 文件名
  • 了解应用层

    应用层 1 概述 2 应用程序组织方式 2 1 C S方式 2 1 P2P方式 3 动态主机配置协议DHCP 3 1 DHCP工作流程 4 域名系统DNS 4 1 域名结构 4 2 域名分类 4 3 域名服务器 4 3 1 分类 4 4 D
  • Python-爬虫(Scrapy爬虫框架,爬取豆瓣读书和评分)

    文章目录 1 Scrapy注意点 2 Scrapy爬取豆瓣读书和评分 代码部分 数据定义items py 爬虫部分spiders book py 数据存储部分pipelines py 启动爬虫执行cmd命令 start py 1 Scrap
  • QT设计电子时钟类

    1 界面效果 2 类的声明 wedgit h class Widget public QWidget Q OBJECT public Widget QWidget parent nullptr 默认构造函数 Widget 默认析构函数 vo
  • 磁共振检查头部能检测出什么_头部核磁共振可以检查什么?

    很多人会疑惑为什么要做头部核磁共振 做CT不好吗 这是因为脑CT具有一定的局限性 有时候脑CT是不能诊断出脑部异常情况的 头部核磁共振检査较CT更为敏感 具有多方向切层 多参数成像的特点 能更精确的现实病变位置 范围大小及组织学特性 是发现
  • 【Java】利用SpringBoot搭建WebService服务接口

    前言 在项目开发过程中经常会碰到对接医疗软件系统的时候对方要求提供WebService形式的接口 本篇文章记载了个人对接项目过程中整合并搭建的WebService形式的接口 希望对您能够有所帮助 一 在pom xml文件中导入WebServ
  • 期权、期货及其他衍生产品 第一章读书笔记

    期权 期货及其他衍生产品 第一章读书笔记 介绍 什么是衍生产品 衍生产品的特点 有哪些交易所场所 交易所市场 一些著名的交易所市场 场外市场 我国的场外市场 远期合约 远期合约可以用来对冲外汇风险 远期合约的收益 远期价格和即期价格 期货合
  • lua学习笔记—table

    1 什么是table table是lua的一种数据结构 可以用来创建数组或映射 lua中的table使用的是关联型数组 关联数组的key值可以是除过nil之外任意类型的值 table的大小是不固定的 可以自己进行扩容 2 如何构造table
  • iOS autorelease 示例研究

    iOS autorelease是Objective C中的一个自动内存管理机制 它通过在对象创建时将其添加到自动释放池中 在池被释放时自动释放对象 从而减少手动内存管理的工作量 本文将介绍如何使用autorelease机制来管理内存 aut
  • 跨部门的高效沟通与协作

    在企业管理当中 沟通是一个非常重要的技能 它运用我们管理当中每一个细节 首先要做好沟通和协作 我们需要有一个很好的思维模式 这个就像盖房子一样 它是地基 是一个房子的地基部分 没有一个正确的思维模式 那我们其后的技巧都不会有一个很好的效果
  • 大数据框架总结

    hdfs 1 写数据流程 2 HDFS读数据流程1 3 HDFS副本节点选择 4 HDFS nn 2nn 镜像文件以及编辑日志的工作机制 注意此类机制都是先更新编辑日志 再更新内存文件block元数据 checkpoint触发默认条件是一小
  • 谈谈虚幻引擎4的Global Illumination

    本届GDC 2013 Epic再次展示了UE4的最新demo 效果惊艳毋庸置疑 不过今天我们只谈UE4的光照利器 SVOGI SVOGI全称Sparse Voxel Octree Global Illumination 由Epic的Andr
  • DES的加密与解密(C语言实现)——大三密码学实验

    目录 DES的描述 Feistel体制 密钥扩展函数 F函数 总流程 代码 get函数的构建 yihuo函数的构建 fuck函数的构建 left move函数的构建 exchange函数的构建 erzhuanshi函数的构建 shizhua
  • 利用Vulnhub复现漏洞 - GoAhead 远程命令执行漏洞(CVE-2017-17562)

    GoAhead 远程命令执行漏洞 CVE 2017 17562 Vulnhub官方复现教程 漏洞原理 复现漏洞 启动环境 漏洞复现 动态链接库源码 编译so文件 发送payload Vulnhub官方复现教程 https vulhub or
  • EasyExcel导出模板实现下拉选(解决下拉超过50个限制)

    学习地址 https d9bp4nr5ye feishu cn wiki O3obweIbgi2Rk1ksXJncpClTnAf B站视频 https www bilibili com video BV1H34y1T7Lm 先来看看最终实现
  • MySQL基本操作语句

    目录 基本的操作数据库的语句 操作库的基本SQL语句 针对表的基本SQL语句 针对记录的基本SQL语句 扩展知识 select 标准用法 基本的操作数据库的语句 show databases gt gt gt gt 查看所有的数据库 sho
  • vue3 nvm配置多个版本node

    在实际开发中 我们可能会负责多个项目 有的项目是vue2版本开发的 有的是vue3版本开发的 如果我们电脑全局的node版本是低版本的 那么高版本的vue3项目在安装依赖时就会报错 反之亦然 我们可以使用nvm来安装多个版本的node 并使
  • Vue table不分页 动态加载数据(类似手机端滑动到底端后再去获取数据)

    最近接到一个需求 pc端中的table 数据不做分页 而是做成滚动条形式 但是table中的数据还是一次显示50条 等这50条滑动到底部后 再去加载50条 有加载效果 以此类推 直到数据全部展示 值得注意的是 我的需求是 第一次请求数据就将