首页 > 其他分享 >MUI基础学习

MUI基础学习

时间:2023-12-11 21:33:04浏览次数:32  
标签:content bar 框架 MUI 基础 学习 mui 页面

一、MUI框架介绍

MUI(MobileUser Interface)是一套基于HTML5的,遵循html5+规范的,中国团队开发的,开源的,用于手机端界面开发的一套框架。 mui框架是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。目前,MUI是基于H5的最方便的App开发框架之一。

MUI框架由DCLOUD公司研发而成,提供大量H5和js语言组成的组件,大大提高了开发效率,可以用于开发web端应用、web APP、混合开发等应用。利用MUI框架,用户在使用APP时可以得到接近原生APP的操作体验。

MUI框架具有以下特点

  1. 轻量级:MUI框架是一套轻量级的框架,不会给应用带来过多的负担。
  2. 跨平台:MUI框架支持多种平台,包括iOS、Android等主流移动操作系统。
  3. 易扩展:MUI框架提供丰富的API和组件,可以方便地进行扩展和定制。
  4. 高性能:MUI框架经过优化,可以提供高性能的渲染和交互体验。
  5. 开源:MUI框架是开源的,开发者可以自由地使用和修改代码。

二、MUI开发注意事项

首先先解释一下HTML5的DOM结构:

DOM结构是一种将HTML文档转化为树形结构的模型,它将HTML文档中的各个元素都看作一个个对象,从而使网页中的元素也可以被计算机语言获取或者编辑。在DOM结构中,每个HTML元素都可以被视为一个节点,整个文档被视为一个文档节点,而HTML元素中的文本被视为文本节点,每个HTML属性被视为属性节点,注释则被视为注释节点。DOM结构的建立方便了使用JavaScript等脚本语言动态地访问、更新文档的内容、样式和结构。

1、页面布局规则:

(1)固定栏靠前

所谓的固定栏,也就是带有.mui-bar属性的节点,都是基于fixed定位的元素;常见组件包括:顶部导航栏(.mui-bar-nav)、底部工具条(.mui-bar-footer)、底部选项卡(.mui-bar-tab);这些元素使用时需遵循一个规则:放在.mui-content元素之前,即使是底部工具条和底部选项卡,也要放在.mui-content之前,否则固定栏会遮住部分主内容;

(2)一切内容都要包裹在mui-content

除了固定栏之外,其它内容都要包裹在.mui-content中,否则就有可能被固定栏遮罩,原因:固定栏基于Fixed定位,不受流式布局限制,普通内容依然会从top:0的位置开始布局,这样就会被固定栏遮罩,mui为了解决这个问题,定义了如下css代码:

.mui-bar-nav ~ .mui-content {  
        padding-top: 44px;  
    }  
    .mui-bar-footer ~ .mui-content {  
        padding-bottom: 44px;  
    }  
    .mui-bar-tab ~ .mui-content {  
        padding-bottom: 50px;  
    }

你当然可以通过自定义CSS的方式实现如上类似效果,但为了使用简便,建议将除固定栏之外的所有内容,全部放在.mui-content中。

(3)始终为button按钮添加type属性

若button按钮没有type属性,浏览器默认按照type=submit逻辑处理,这样若将没有type的button放在form表单中,点击按钮就会执行form表单提交,页面就会刷新,用户体验极差。

2、窗口管理

(1)页面初始化:必须执行mui.init方法

mui在页面初始化时,初始化了很多参数配置,比如:按键监听、手势监听等,因此mui页面都必须调用一次mui.init()方法;

(2)页面跳转:抛弃href跳转

当浏览器加载一个新页面时,若页面DOM尚未渲染完毕,页面会先显示空白,然后等DOM渲染完毕后,再显示具体内容,这是WEB浏览器技术无法逾越的体验障碍;为解决这个问题,建议使用mui.openWindow打开一个新的webview,mui会自动监听新页面的loaded事件,若加载完毕,再自动显示新页面;
扩展阅读:

(3)页面关闭:勿重复监听backbutton

mui框架自动封装了页面关闭逻辑,若希望自定义返回逻辑(例如编辑页面的返回,需用户确认放弃草稿后再执行返回逻辑),则需要重写mui.back方法,切勿简单通过addEventListener添加backbutton监听,因为addEventListener只会增加新的执行程序,mui默认封装的监听执行逻辑依然会继续执行,因此若仅addEventListener添加用户确认框,则用户即使选择了取消,也会继续关闭窗口。

3、手势操作

(1)点击:忘记click

mui为了解决这个问题,封装了tap事件,因此在任何点击的时候,请忘记click及onclick操作,统统使用如下代码:

element.addEventListener('tap',function(){  
        //点击响应逻辑  
    });




标签:content,bar,框架,MUI,基础,学习,mui,页面
From: https://blog.51cto.com/u_15384963/8777701

相关文章

  • openGauss学习笔记-152 openGauss 数据库运维-备份与恢复-物理备份与恢复之PITR恢复
    openGauss学习笔记-152openGauss数据库运维-备份与恢复-物理备份与恢复之PITR恢复152.1背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,openGauss的即时恢复功能(Point-In-TimeRecovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间点。说明:PITR仅支持恢......
  • openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_proback
    openGauss学习笔记-153openGauss数据库运维-备份与恢复-物理备份与恢复之gs_probackup153.1背景信息gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。可用于备份单机数据库,也可对主机或者......
  • 前端学习DAY1 HTML5基础(1)(b站pink老师)
    一、HTML简介1.网页 1.1什么是网页  网站是网页的集合,网页是网站中的一“页”(构成网站的基本元素)。 网页由图片、链接、文字、声音、视频等元素构成,通常是HTML格式的文件(.htm.或html后缀),通过浏览器来阅读。 1.2 什么是HTMLHTML(超文本标记语言),它是用来描述网页的......
  • 机器学习-线性回归-样本归一化处理-05
    目录1.为什么要对样本进行归一化2.归一化的方式一最大最小值3.归一化的方式二标准归一化1.为什么要对样本进行归一化样本之间的数量级是千差万别有量纲的例如:theta1>>theta2数值小的theta2反而能快速的收敛数值大的theta1收敛较慢出现theta2等待theta......
  • 机器学习-线性回归-小批量-梯度下降法-04
    1.随机梯度下降法梯度计算的时候随机抽取一条importnumpyasnpX=2*np.random.rand(100,1)y=4+3*X+np.random.randn(100,1)X_b=np.c_[np.ones((100,1)),X]n_epochs=10000learn_rate=0.001m=100theta=np.random.randn(2,1)forepoch......
  • Java学习之路(十六)
    Java学习之路(十六)1、File类1.1、File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体......
  • Java学习之路(十七)
    Java学习之路(十七)1、字符流1.1、为什么会出现字符流【理解】字符流的介绍由于字节流操作中文不是特别的方便,所以Java就提供字符流字符流=字节流+编码表中文的字节存储方式用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼......
  • 机器学习-线性回归-梯度下降法-03
    1.梯度下降法梯度:是一个theta与一条样本x组成的映射公式可以看出梯度的计算量主要来自于左边部分所有样本参与--批量梯度下降法随机抽取一条样本参与--随机梯度下降法一小部分样本参与--小批量梯度下降法2.epoch与batchepoch:一次迭代wt-->wt+1......
  • NS-3源码学习(六)eMLSR
    简介enhancedMultiLinkSingleRadio(eMLSR)是MLO的模式之一。WiFiAP與使用者同時使用多根天線建立連線,並從中選擇一條最適合之天線進行資料傳輸,當連線遭遇干擾時便立即切換至另一條天線以躲避干擾。透過此種傳輸模式WiFiAP與使用者能即時對環境干擾變化做出反應藉此提......
  • 第一节 Kotlin基础
    Kotlin基础简介主要介绍:开发环境的搭建Kotlin基本语法Kotlin参考Kotlin源代码网址:https://github.com/JetBrains/kotlinKotlin官网:https://kotlinlang.orgKotlin官方参考文档:https://kotlinlang.org/docs/referencekotlin标准库:https://kotlinlang.org/api/latest/......