{{tab.content}}
<!DOCTYPE html> <html> <head> <title>mmRouter组件</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <script src="../avalon.js"></script> <style> * {word-wrap: break-word;margin:0;padding:0} body {background: #f9f9f9;font-size: 14px;} .tb {margin-top: 10px;padding-left: 5px;line-height: 30px;border-bottom: 1px solid #CDCDCD;} .cl {zoom: 1;} .cl::after {content: ".";display: block;height: 0px;clear: both;visibility: hidden;} .contents {width: 862px;margin:30px 0 0 20px;background: #FFF;} ul li{list-style: none;} .tb li {float: left;margin: 0 3px -1px 0;} .tb li {_width: 120px;*width:120px: ;} a {color: #333;text-decoration: none;} .tb a {display: block;padding: 0 10px;border: 1px solid #CDCDCD;background: #E5EDF2;} .tb .a a{border-bottom-color: #fff;background: #FFF;font-weight: 700;} .tb li {_width:120px;*width:120px;} a.tbtxt1 {float:left;border-right-width:0;} a.tbtxt2 {float:left;} a.tbclose {float:left;border-left-width:0;width:12px;} </style> </head> <body> <h1>mmRouter综合实例一: avalon.get</h1> <div class="contents" ms-controller="box"> <ul class="tb cl"> <li ms-repeat="tab.page" ms-class="a:tab.currpage===el.name"><a ms-href="el.url" ms-class-1="tbtxt1:el.name!=='tab1'" ms-class-2="tbtxt2:el.name==='tab1'">{{ el.title }}</a><a ms-if="el.name!='tab1'" ms-click="tab_close(el.name)" href="javascript:;" class="tbclose">X</a></li> </ul> <div id="main" class="cl" style="margin:10px 5px 5px 10px;width:500px;height:300px"> <p>{{tab.content}}</p> </div> <div> <a href="#!/tab1">显示tab1</a> <a href="#!/tab2">显示tab2</a> <a href="#!/tab3">显示tab3</a> </div> </div> <script> require(["mmRouter/mmRouter"], function () { var model = avalon.define('box', function(vm) { vm.tab = {currpage:'tab1',content:'tab1', page:[{name:'tab1', title:'选项卡一',url:'#!/tab1'}]}; vm.tab_close = function (tname) { while(true) { var l = vm.tab.page.length; if (l===1) break; loaded[vm.tab.page[l-1].name] = 0; if (vm.tab.page[l-1].name===tname) { vm.tab.page.pop(); break; } else { vm.tab.page.pop(); } } avalon.router.navigate("/tab1"); vm.tab.currpage = 'tab1'; } }); var loaded = {}; avalon.router.when(["/nihao/:id"], "/tab:id") avalon.router.get("/tab1", function(a) { var page = 'tab1'; model.tab.content = "页面:"+page; model.tab.currpage = page; }); avalon.router.get("/tab2", function(a) { var page = 'tab2'; var a = {name:page, title:'选项卡二', url:'#!/tab2'}; if (!loaded[page]) { loaded[page] = 1; model.tab.page.push(a); } model.tab.content = "页面:"+page; model.tab.currpage = page; }); avalon.router.get("/tab3", function(a) { var page = 'tab3'; var a = {name:page, title:'选项卡三', url:'#!/tab3'}; if(!loaded[page]) { loaded[page] = 1; model.tab.page.push(a); } model.tab.content = "页面:"+page; model.tab.currpage = page; }); avalon.router.error(function(a) { avalon.router.navigate("/tab1"); }) avalon.history.start({html5Mode: false}); avalon.scan(); }); </script> </body> </html>