原生代码布局

news2024/11/6 9:34:18

背景:

原生开发移动端,每一个页面的组成部分是哪些呢?在一个项目文件里,每一个页面的组成部分又是哪些呢?参考链接:pages页面的组成

效果展示:

 

注意:

 

一、布局代码:

 <div class="page navbar-fixed" data-page="mainWaterLine">
        <div class="navbar">
            <div class="navbar-inner title-page" style="background: #1680C1">
                <div class="left"> <a href="#" class="back title-back"><i class="iconfont icon-fanhui-copy" style="color: #ffffff;"></i></a></div>
                <div class="center i18n" data-i18n="sz_shezhe" style="color:#FFFFFF">设置</div>
                <div class="right"></div>
            </div>
        </div>
        <div class="page-content">  </div>
    </div>

备注:每个界面都有个这种的,在content里面写内容 

二、逻辑代码:

var waterLine = {
    init: function () {
        initF7.GloblalF7.onPageInit("mainWaterLine", function (data) {
            waterLine.bindDomEvent();
        });
        /**
         * 返回按钮时执行
         */
        initF7.GloblalF7.onPageAfterBack("mainWaterLine", function (page) {
            MAPutils.GlobalMap.updateSize();
        });
    },
    bindDomEvent: function () {
        waterLine.getApiData();
    },
    getApiData: function () {
        waterLine.load = layui.layer.load();
        $.ajax({
            url: Config.API_SERVER_URL + '/personalcenter/vesselroute/v1/getUserRouteByPage',
            type: "POST",
            data: {
                "param": JSON.stringify({
                    page: 1,
                    limit: 10,
                })
            }
        }).done((res) => {
            if (res.code == 200 && res.data.length > 0) {
                const obj = res.data
                let content = new Array()
                $.each(_.uniqWith(obj, _.isEqual).filter(item => item.routename), (i, item) => {
                    content.push(
                        `
                        <div class="layui-card">
                            <div class="layui-card-header" style="display: flex;align-items: center;">
                                <img src="img/yuming/icon_historyLine.png" width="20" alt="">
                                <div class="title-box" style="display: flex;margin-left: 10px;">
                                    ${item.routename || '航行起点名称-航行终点名称'} 
                                </div>
                            </div>
                            <div class="layui-card-body">
                                <div class="nav-card-Btn" style="display: flex;justify-content: space-between;">
                                    <div class="time-left">
                                        <span>船名:${item.name || item.mmsi}</span>
                                    </div>
                                    <div class="btn-right">
                                        <button type="button" class="layui-btn layui-bg-blue layui-btn-radius layui-btn-sm route-qiyong" data-obj='${JSON.stringify(item)}'>重新启用</button>
                                    </div>
                                </div>
                            </div>
                        </div>
                        `
                    )
                })
                $(".layui-col-md6").html(content.join(""));
                $(".layui-col-md6 .route-qiyong").on("click", function () {
                    let obj = $(this).attr("data-obj");
                    //返回地图页
                    initF7.mainView.router.back({
                        pageName: 'main',
                        force: true
                    });
                    if (obj) {
                        let routeObj = JSON.parse(obj);
                        Config.historyHxobj = routeObj;
                        initF7.GloblalF7.closeModal();
                        Config.ishangxianpop = 1;
                        $(".tabbar-custom-container").hide()
                        if (Config.bindShipData && MAPutils.calcPointToLineDistance(Config.bindShipData.geometry, Config.historyHxobj.geometry) > 2) {
                            MapInit.beyondDistance(1)
                        } else {
                            Chaxunhx.starthxzt(
                                Config.historyHxobj.mmsi,
                                Config.historyHxobj.routemrn,
                                Config.historyHxobj.geometry,
                                Config.historyHxobj.routename
                            )
                        }
                    }
                })
            } else {
                layerGlobal.msg("未能查询到相关码头候港数据")
            }
        }).fail(function (e) {
            layerGlobal.msg("未能查询到相关码头候港数据")
        }).always(function (res) {
            layui.layer.close(waterLine.load)
        })
    }
}
waterLine.init()

三、页面互动性

当点击页面按钮“重新启用”,与其它页面联动,就与data-page的绑定值有关:

核心代码:

 $(".layui-col-md6 .route-qiyong").on("click", function () {
                    let obj = $(this).attr("data-obj");
                    //返回地图页
                    initF7.mainView.router.back({
                        pageName: 'main',
                        force: true
                    });
                    if (obj) {
                        let routeObj = JSON.parse(obj);
                        Config.historyHxobj = routeObj;
                        initF7.GloblalF7.closeModal();
                        Config.ishangxianpop = 1;
                        $(".tabbar-custom-container").hide()
                        if (Config.bindShipData && MAPutils.calcPointToLineDistance(Config.bindShipData.geometry, Config.historyHxobj.geometry) > 2) {
                            MapInit.beyondDistance(1)
                        } else {
                            Chaxunhx.starthxzt(
                                Config.historyHxobj.mmsi,
                                Config.historyHxobj.routemrn,
                                Config.historyHxobj.geometry,
                                Config.historyHxobj.routename
                            )
                        }
                    }
                })

解释:

 

Chaxunhx.js是一个封装的文件

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1261269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

33 - MySQL调优之索引:索引的失效与优化

不知道你是否跟我有过同样的经历&#xff0c;那就是作为一个开发工程师&#xff0c;经常被 DBA 叫过去“批评”&#xff0c;而最常见的就是申请创建新的索引或发现慢 SQL 日志了。 记得之前有一次迭代一个业务模块的开发&#xff0c;涉及到了一个新的查询业务&#xff0c;需要…

数据库应用:Ubuntu 20.04 安装MongoDB

目录 一、理论 1.MongoDB 二、实验 1.Ubuntu 20.04 安装MongoDB 三、问题 1.Ubuntu Linux的apt 包管理器更新安装软件报错 2.Ubuntu20.04安装vim报错 3.Ubuntu20.04如何更换阿里源 4.Ubuntu22.04如何更换阿里源 一、理论 1.MongoDB &#xff08;1&#xff09;概念 …

帆软报表 channel 反序列化漏洞复现

0x01 产品简介 FineReport、FineBI 是帆软软件开发的企业级报表设计和数据分析工具与商业智能平台。 0x02 漏洞概述 帆软FineReport、FineBI 存在反序列化漏洞&#xff0c;攻击者可向 /webroot/decision/remote/design/channel 接口发送精心构造的反序列化数据&#xff0c;在目…

2023.11.27【读书笔记】|医疗科技创新流程(前言)

目录 注重价值关键要素如何解决价值问题&#xff1f;注重三个关键点价值探索价值预测价值定位 中国视角背景挑战战术 洞察过程发现需求发现需求筛选 发明概念产生概念选择 发挥战略发展商业计划 注重价值 在美国&#xff0c;医疗费用的增长率已经多年超过GDP增长率&#xff1b…

基于CW32F030单片机的便携式多功能测试笔

一、产品背景 在日常的硬件调试工作中&#xff0c;我们最常使用的仪器仪表可能就是万用表了&#xff0c;虽然万用表号称“万用”&#xff0c;但大部分时候&#xff0c;我们需要使用到的功能无非是电压测量和通断测量。 作为调试的“得力干将”&#xff0c;万用表有时候也会存…

SLURM超算集群资源管理服务的安装和配置-基于slurm22.05.9和centos9stream,配置slurmdbd作为账户信息存储服务

slurm介绍就不再赘述了&#xff0c;这里看官网链接&#xff0c;其他的自己搜索吧。 Slurm Workload Manager - Quick Start User Guide 这里主要将slurm集群配置的一般步骤&#xff0c;重点是slurmd的conf文件的配置&#xff1b;官网的内容比较全但不太好选择哪些是必须的&am…

10、静态数码管显示

数码管介绍 LED数码管:是一种简单、廉价的显示器&#xff0c;是由多个发光二极管封装在一起组成“8”字型的器件 数码管引脚的定义 共阴极、共阳极 例如&#xff1a;显示数字1&#xff08;b,c段&#xff09; 3、8&#xff1a;接VCC或者GND/低电平 10011111 0110000 共阴极、…

智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Open Feign 源码解析(一) --- FactoryBean的妙用

什么是Open Feign? OpenFeign 是 Spring Cloud 全家桶的组件之一&#xff0c; 其核心的作用是为 Rest API 提供高效简洁的 RPC 调用方式 搭建测试项目 服务接口和实体 项目名称 cloud-feign-api 实体类 public class Order implements Serializable {private Long id;p…

Mysql——》int(1)和 int(10)区别

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

lv11 嵌入式开发 UART实验 11

目录 1 UART帧格式详解 1.1 UART简介 1.2 通信基础 - 并行和串行 1.3 通信基础 - 单工和双工 1.4 通信基础 - 波特率 1.5 UART帧格式 2 Exynos4412下的UART控制器 2.1 引脚功能设置 2.2 阅读芯片手册 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 3.3 ULC…

95.STL-遍历算法 for_each

算法概述: 算法主要是由头文件 <algorithm> <functional> <numeric> 组成。 <algorithm> 是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric> 体积很小&#xff0c;只包括几个在序列上面…

【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver

之前讲到基于python的自动化测试环境&#xff0c;需要安装Python,再安装Selenium。具体可看【如何学习Python自动化测试】—— 自动化测试环境搭建 但是&#xff0c;想要使用Selenium发送指令模拟人类行为操作浏览器&#xff0c;就需要安装浏览器驱动。不同的浏览器需要安…

用python实现kindle文件转换pdf

上一篇文章讲了下用工具转换相关的格式&#xff1a;https://blog.csdn.net/weixin_42019349/article/details/134654695 今天来分享一个python库实现上述功能&#xff0c;实现文件转换自由 ^_^ 主角就是pypandoc库 # 安装方式 pip install pypandoc# pypandoc主要有三个函数…

从0开始学习JavaScript--JavaScript对象封装

JavaScript中的对象封装是一种重要的编程概念&#xff0c;它允许将数据和方法组织成一个独立的单元&#xff0c;实现了数据的保护和抽象。本文将深入探讨JavaScript对象封装的原理、实践和最佳实践。 封装的基础概念 封装是面向对象编程的基础概念之一&#xff0c;它强调将数…

文本三剑客(grep,awk,sed)

一.正则表达式 注意事项&#xff1a;使用正则表达式必须加引号。 元字符 表示字符 ① . &#xff1a;在正则表达式中.表示任意单个字符。 [rootpc1 data]#grep -o r.t /etc/passwd #过滤passwd文件中开头为r中间任意单个字符结尾为t的内容 rat rat rat [rootpc1 data]#g…

oracle impdp 导入元数据表空间异常增大的解决办法

expdp导出的时候指定了contentsmetadata_only只导出元数据&#xff0c;但是在impdp导入到新库的时候&#xff0c;发现新库的表空间增长非常大&#xff0c;其实这个直接就可以想到&#xff0c;应该是大表的initial segment过大导致的 正常impdp&#xff0c;在执行创建表和索引的…

DM8数据库版本升级

DM数据库版本升级说明 DM数据库的版本一直在不断的的迭代。 对于DM 的数据库版本&#xff0c;分大版本和小版本。 1)大版本&#xff1a;指DM6&#xff0c;DM7&#xff0c;DM8 这种。2)小版本&#xff1a;指同一个大版本子版本的变化&#xff0c;比如DM8的&#xff1a;8.1.0.1…

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。

假定采用带头结点的单链表保存单词&#xff0c;当两个单词有相同的后缀时&#xff0c;可共享相同的后缀存储空间&#xff0c;例如&#xff0c;“loading”,“being”的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点&#xff0c;链表结点结构为 data ne…

在ubuntu系统安装SVN服务端,并通过客户端进行远程访问

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…