龙焱凤凰剑带着巨大的炽热的火焰狠狠的捅进了它的身体,将它的心脏和身体全部瓦解,而反膜雷光则是将它所有的机械构造全部打碎了。

安禄山挣扎着要站起来,两名侍卫连忙左右扶住他,但这样还不行,安禄山实在太胖了,这样他是站不起来,身材瘦小的贴身侍者李猪儿钻到他肚子下面,拼命用头顶住安禄山的肚子,这样才能护住他的平衡,不至于像球一样滚出去。

如何控制100台手机赚钱

“不必了,你管你自己的事就好了。”雪飞鸿不赞同陆小军的论调。谢娴的脾气硬,要是他凶她,她不反咬他一口才怪。他觉得三天前她之所以不敢明白说出她讨厌他,是因为她还想仰赖他的慷慨。他真不晓得自己是哪门子的白痴。
那修罗的脸色一阵煞白,叶扬这是在骂他和狗一样,这种侮辱可是真的让人难以忍受。

“我当是谁呢?”罗喉老祖看着纪太虚呵呵笑道:“原来是风头正劲的纪侯爷!不知道纪侯爷怎么有空跑到我这荒山来了?”

给你的jQuery项目赋予Router技能吧


现在你不会React/Vue都不好意思说自己是前端,不过我相信很多前端项目还是基于jquery类库的传统模式的,假如你有追求的态度使用过requireJs这个库,你一定思考过一个问题,或者说一种组件化的雏形思维,那就是运用一个模板引擎如artTemplate+requireJs实现一个单页面组件化的开发模式(spa)

先贴一个目录结构

这是近段时间做的一个中后台系统的基本目录结构,就是使用上述的模式。如图所示:其中index.html为网页唯一入口,其他每一个页面均对应一个tpl+css+js,页面跳转均通过require["xx",cb]实现,看上去好像其实也挺好的,简单、快捷,那么这样的模式有个很大的问题就是不产生浏览记录,页面无法后退!无法单独刷新!所以,应运而生,是时候给他赋予路由功能了

简要思路

在页面跳转的时候使用history.pushState(stateObject, title, url)改变url的hash值(如:#....),通常情况是预先配置好的路由key,这个时候会触发window.onhashchange事件,回调函数里执行业务逻辑并最终控制页面的跳转,这样一来就基本达到了路由的能力。同时再配合window.onpopstate事件,当页面后退时触发,进行相关的逻辑控制。

简要实现

API

router.config(obj) //配置路由对应的key-value
var roleid = 2;
router.config({
    view: ".module-container", //渲染模板的dom
    baseUrl: "/", //资源根路径
    router: {
        "page-test1": {
            templateUrl: "tpl/test/test1.tpl", //模板或页面地址
            controller: "js/test/test1.js", //页面对应的js
            role: [1, 2] //能访问页面的角色id
        },
        "page-test2": {
            templateUrl: "tpl/test/test2.tpl",
            controller: "js/test/test2.js",
            role: 1
        },
        "page-test3": {
            controller: "js/test/test3.js",
            role: 2
        },
        "defaults": "page-test1" //默认路由
    },
    errorTplId: "#errorTpl",  //可选的错误模板,用来处理加载html模块异常时展示错误内容
    enterCallback: function (routeObj) {
        //回车键后的回调函数,通常可做页面权限控制、数据统计等等
        console.log("enterCallback")
        if (!routeObj.url) return;
        if (typeof routeObj.role == "object") {
            var notLook = false;
            for (var i = 0; i < routeObj.role.length; i++) {
                if (routeObj.role[i] == roleid) {
                    notLook = true;
                    break;
                }
            }
            if (!notLook) {
                router.isNotLook = false;
                alert("无权访问")
            } else {
                router.isNotLook = true;
            }
        } else {
            if (routeObj.role != roleid) {
                router.isNotLook = false;
                alert("无权访问")
            } else {
                router.isNotLook = true;
            }
        }
    }
});
router.to(string, {}, [null || "_self" || "_blank"] , callback) //页面跳转、显示传参
router.to("page-test1", {
    "test1": "我是带过来的参数"
})
router.getUrlParameter("test1")
router.get/set/delParam/clear() //隐式传参
router.setParam({
    "test1": "我是带过来的参数,不显示在url上哦"
})
router.to("page-test1");
router.getParam("test1")

属性

  • view 渲染模板的dom,默认body
  • baseUrl 资源根路径
  • errorTplId 错误时渲染的模板id,后续可扩展404、500等
  • templateUrl 模板或页面地址,这里暂时只能是静态的
  • controller 页面对应的js,如需动态页面,在这里面渲染模板
  • role 页面级角色权限id

完整版js

传送门

demo

传送门

存在问题

  1. 没有集成ES6,无法享受新特性带来的技术红利。(尝试使用gulp-babel编译成ES5,并通过webpack构建成bundle.js,但是遇到各种问题,如使用jquery和jquery系列插件,很多并不支持CommonJS规范等等,最终无奈放弃)
  2. 独立组件并没有形成生命周期,如注册事件后,已跳转到其他页面,并不能销毁事件等,必须妥协使用先off再on的做法
  3. 没有数据流的概念,数据操作很混乱

当前文章:http://hnhdqp.com/news/20180952011.html

发布时间:2018-12-16 08:18:55

可以玩游戏赚钱的平台 注册网赚qq群 什么游戏平台可以赚钱 斗地主赚钱项目 网上赚钱有哪些 天佑一天能挣多少钱 梦幻手游能赚钱吗 古天乐代言的游戏真的可以赚钱吗

编辑:平帝

相关新闻

央视改版:“该说‘人话’了”!

2018-12-16 06:44:49

南京侣拭狼电子有限公司

国家公务员考试可申请调剂 有386个补录职位

2018-12-16 08:00:29

长兴跃吵副有限公司

PPTV音乐携手苏宁众筹 独家直击小室哲哉音乐中国行

2018-12-16 08:23:20

嘉善疚崭租售有限公司

热门推荐

  • 北京朝阳区一村民自建房发生火灾 5人死亡
  • 特斯拉反驳路透社:Model S/X逾90%抽检缺陷属于误导
  • 2017年Q3:惠普挤下联想,成印度第一大PC品牌
  • 津巴布韦外交部和国防军举行吹风会否认发生政变
  • 日本脑洞大开的漫画设定 汉字部首变身美女帅哥
  • 戒烟好物/50W大烟雾,smaco旗舰店时尚便携电子烟套装68元(100元券)
  • CX-3上市/MX-5 RF预售 马自达广州车展阵容
  • 海南花梨手串多少钱?哪里买的花梨性价比高
  • 广东多个县市公布暴雨预警 幼儿园中小学停课
  • 茂县搜救队员落泪:我恨我自己只有一双手
  • 河北新闻网版权所有 本站点信息未经允许不得复制或镜像 法律顾问:网上写小说赚钱的网站 宅在家兼职网赚
  • 淘宝兼职赚钱日结 copyright ? 2000 - 2016
  • 新闻热线:0311-67563366 广告热线:0311-67562966 新闻投诉:0311-67562994
  • 冀ICP备 09047539号-1 | 互联网新闻信息服务许可证编号:1312006002
  • 广播电视节目制作经营许可证(冀)字第101号|信息网络传播视听节目许可证0311618号
  • 批发什么去农村卖挣钱 男人快速赚钱的工作 2018挣钱好项目 有可以赚钱的棋牌游戏