h5 - mui 使用技巧

学习文献
mui 官网 1、包含 mui 等 开发大佬(学习);
2、登录页、注册页 方法;
——
tomact服务器 大佬 简书大佬,js 可以学习(懒加载);
Hybrid介绍 叶小钗大佬

开始进军h5开发,不断学习。

<script type="text/javascript">
	mui.init({
		subpages: [{ // 打开子页面,为解决低端机不流畅的问题
			url: 'index.html',
			id: 'index.html', // 可自定义
			styles: {
				// 更改子页面的样式

			}
		}];
		// 页面预加载:
		preloadPages: [{
			url: 'index.html',
			id: 'index.html',
		}]
	});
	mui.plusReady(function() { // 页面初始化
		// 2、在原生mui组件中跳转,需要找到id做跳转事件
		// tab 为跳转事件方式
		document.getElementById('#opentals').addEventListener('tab', function() {
			mui.openWindow({
				url: 'index.html',
				id: 'index.html'
			})
		})

		// 1.1 、页面接收传参,键值对关系
		var statData = plus.webview.currentWebview(); //拿到对象
		mui.toast(statData.name) //弹出 张三
		// 输出到页面
		var name1 = mui('#name');
		name1[0].innerHTML = statData.name;
	});
	
	//1、自定义页面跳转(按钮元素,a标签), openTals 为点击事件函数;   在 原生mui组件中使用效果并不理想
	// 
	function openTals() {
		mui.openWindow({
			url: 'index.html',
			id: 'index.html',
			show: {}, // 是否显示动画
			extras: { // 传递值,键值对
				name: '张三',
				/* 姓名:  */
			}
		})
	}
</script>

坑货mui,那么多坑!!!浪费我五一两天的时间就做了app连接到手机和tab底部导航现实的问题!一度怀疑自己的智商是不是出了问题

mui的坑有很多,而我才刚刚爬,且爬且珍惜!

先说tab导航栏重复加载的问题吧:

这个坑也是很无语,在index.html 里不能出现这个页面,因为这是app的启动页!!!

好坑啊。。。

好想找个厕所哭

解决的办法就是a标签上不引用,在底部导航的a标签中跳转到不同的页面,就行了!!!

并且百度的也有很多坑的博客,无力吐槽了,记录下来自己用吧
h5 - mui 使用技巧_第1张图片
正确方法:


<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title>title>
		<link href="./css/mui.min.css" rel="stylesheet" />
	head>
	<body>
		<header class="mui-bar mui-bar-nav">
			<h1 class="mui-title">标题h1>
		header>
		<nav class="mui-bar mui-bar-tab">
			<a class="mui-tab-item mui-active" href="html/a.html">
				<span class="mui-icon mui-icon-home">span>
				<span class="mui-tab-label">首页span>
			a>
			<a class="mui-tab-item" href="html/b.html">
				<span class="mui-icon mui-icon-phone">span>
				<span class="mui-tab-label">电话span>
			a>
			<a class="mui-tab-item" href="html/c.html">
				<span class="mui-icon mui-icon-star">span>
				<span class="mui-tab-label">功能span>
			a>
		nav>


		<script src="./js/mui.min.js">script>
		<script type="text/javascript" charset="utf-8">
			//底部选项卡切换跳转
			(function() {
				var subpages = ['html/a.html','html/b.html', 'html/c.html'];

				var subpage_style = {
					top: '40px',
					bottom: '51px'
				};

				//创建子页面,首个选项卡页面显示,其它均隐藏;
				mui.plusReady(function() {

					var self = plus.webview.currentWebview();
					for (var i = 0; i < subpages.length; i++) { // 如果i等于所有的子页面的话,那么子页面的js都会去执行
						var temp = {};
						var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);

						if (i > 0) {
							sub.hide();
						}
						self.append(sub);
					}
				});

				var activeTab = subpages[0];
				//选项卡点击事件
				mui('.mui-bar-tab').on('tap', 'a', function(e) {
					var targetTab = this.getAttribute('href');

					console.log(targetTab)

					if (targetTab == activeTab) {
						return;
					}

					var self = plus.webview.currentWebview();
					var sub = plus.webview.create(targetTab, targetTab, subpage_style);
					self.append(sub);
					//隐藏当前;
					plus.webview.hide(activeTab); //这里应该是关闭页面,不知道隐藏与关闭区别有多大
					//更改当前活跃的选项卡
					activeTab = targetTab;
				});
				//初始化
				mui.init();

			})()
		script>
	body>
html>

然后就是连接到手机:

第一:在电脑和手机上下载360手机助手,然后打开开发者选项,usb连接到电脑,以供hbuilder调用;(这一步也可不用)

第二:在hbuilder官网下载 Hello H5+ 这样一个软件,当初找个废了很多时间,而且在百度上也没有具体的教程,坑货;

第三:hbuilderX上反正我是没找到真机调试的方法,而是通过老版的hbuilder上进行的真机测试,也是坑!

安卓和ios上的设备管理需要进行授权信任HBbuilder;

你可能感兴趣的:(h5开发)