`
qq290063295
  • 浏览: 14897 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JQuery或Zepto单页应用路由Router

阅读更多
  • 之前一直都是在用AngularJs在做前台开发,这几天要做移动版页面,所以前端采用了Zepto+WEUI CSS来做,主要是因为Zepto比较小巧,用起来也JQuery一样锋利。
  • 用AngularJs时我们一直都是用ui-router做单页应用,为了保持PC端和移动链接地址一致,所以移动端也要采用ui-router风格的单页应用模式。找了一圈,发现vipspa可以实现这个功能,但跟我想要的还是有点儿不一样,于是拿来小改一下,改成ui-router风格的jquery或zepto的单页应用Router插件(见附件)。
  • 这里主要介绍如何使用。
  • index.html
  • <html lang="zh-CN">
    <header>
    <meta charset="utf-8"/>
    </header>
    <body>
    	<!-- header -->
    	<header>
    		This is header.
    	</header>
    	
    	<!-- main -->
    	<div id="main">
    		<div class="ui-view"></div>
    	</div>
    	
    	<!-- footer -->
    	<footer>
    		This is footer.
    	</footer>
    	
    	<script src="static/lib/zepto/zepto.min.js" type="text/javascript"></script>
    	<script src="static/lib/vipspa/vipspa.min.js" type="text/javascript"></script>
    	<script src="static/js/index/app.js" type="text/javascript"></script>
    </body>
    </html>
    
     
  • js 文件结构


  •  app.js
  • $(function() {
    	vipspa.start({
    		view: '.ui-view',// 装载视图的dom
    		router: {
    			'/home': {
    				templateUrl: 'static/views/index/home.html',
    				controller: 'static/js/index/controllers/home.js'
    			},
    			'/content': {
    				templateUrl: 'static/views/index/content.html',
    				controller: 'static/js/index/controllers/content.js'
    			},
    			'/component/:uuid/item/:itemid': {
    				templateUrl: 'static/views/index/component.html',
    				controller: 'static/js/index/controllers/component.js'
    			},
    			'defaults': '/home'// 不符合上述路由时,默认跳至
    		},
    		errorTemplateId: '#error'
    	});
    });
     
  • 视图片段文件结构


  •  
  • 每个视图就已经与每个Controller js绑定了,没个视图的展示与操作独立开来。
  • home
  • <p>home</p>
    console.log('This is the page home.');
     
     
  • content
  • <p>content</p>
    console.log('This is the page content.');
     
  • component
  • <h3>
    这是器件页面
    器件的uuid是:<span id="uuid"></span>,id是: <span id="itemid"></span>
    </h3>
    var obj = vipspa.params;// 通过路由传递的参数
    
    $('#uuid').text(obj.uuid);// 由:uuid指定位置的参数
    $('#itemid').text(obj.itemid);// 由:itemid指定位置的参数
     
  • 效果
  • 当我们打卡index路径时,默认跳至home页面


  •  
  • 当我们进入index#/content路径是,我们可以进入content页面


  •  
  • 当我们进入index#/component/uuid001/item/item002的路径是,进入到component的页面,并获得路径中的参数


  •  这就是一个简单好用的Jquery router。
  • 大小: 3.2 KB
  • 大小: 2.6 KB
  • 大小: 15.3 KB
  • 大小: 11.4 KB
  • 大小: 11.2 KB
分享到:
评论

相关推荐

    jquery validation 支持zepto

    让jquery validation plugin 支持zepto

    支持jquery和zepto的树形控件

    在实际开发中,要使用Dtree,你需要先引入jQuery或Zepto库,然后引入Dtree的JavaScript和CSS文件。接下来,通过调用提供的API创建和配置树形控件,设置数据源,最后绑定事件处理器来响应用户的操作。 总的来说,...

    jQuery和Zepto的链接选择

    在JavaScript的世界里,jQuery和Zepto是两个非常流行的轻量级库,它们为开发者提供了方便的DOM操作、事件处理和Ajax交互等功能。本篇将详细探讨jQuery和Zepto中的链接选择,以及它们如何帮助我们更高效地处理网页中...

    移动端优先且支持jQuery和Zepto的模态对话框插件

    "dialog.js"就是这样一款专为移动端设计的、同时兼容jQuery和Zepto的轻量级模态对话框插件。它使得在手机或平板电脑上创建功能丰富的对话框变得简单易行。 首先,我们来详细了解dialog.js的核心特性。作为移动端...

    移动端Dialog弹出对话框插件同时支持jQuery和Zepto

    在移动端Web应用开发中,用户交互的体验至关重要,而Dialog弹出对话框是常见的交互元素之一。`dialog.js`插件就是为了满足这种需求而...同时,它兼容jQuery和Zepto,大大拓宽了应用范围,是移动端Web开发者的得力工具。

    cloud9carousel, 用于 jquery/zepto的高性能 3D 透视图 carousel.zip

    cloud9carousel, 用于 jquery/zepto的高性能 3D 透视图 carousel 云 9-carousel基于 carousel/zepto的3D 透视图,基于原始云 carousel 插件,它是由教授云( 云) 云。特性适用于 jQuery 和 Zepto超快易于使用。( 可选...

    高性能的jQuery/Zepto 3D旋转木马插件

    cloud9carousel支持jQuery和Zepto两个流行的JavaScript库,这使得它能够广泛应用于各种类型的网站,因为这两个库都以轻量级和高效著称。 jQuery库是一种广泛使用的JavaScript库,简化了DOM操作、事件处理和Ajax交互...

    mobileValidate, 移动端表单验证控件(适用于jquery和zepto).zip

    "mobileValidate"是一个专为移动端设计的表单验证控件,它支持jQuery和Zepto这两个流行的JavaScript库,使得在移动设备上进行高效、便捷的表单验证成为可能。 mobileValidate的核心功能包括: 1. **灵活性**:由于...

    JVFloat.js, jquery/zepto插件模拟 Matt D Smith占位符文本浮动.zip

    JVFloat.js, jquery/zepto插件模拟 Matt D Smith占位符文本浮动 #JVFloat.js 演示插件 jQuery和Zepto插件来模拟 JVFloatLabeledTextField的行为,这基于从Matt的概念。 史密斯 。在博客上阅读更多关于的文章。请注意...

    jquery validation 支持zepto第二版

    标题"jquery validation 支持zepto第二版"指的是将jQuery Validation插件与Zepto.js兼容,以便在使用Zepto的项目中实现表单验证功能。这通常涉及到对原有jQuery Validation代码的适配和修改,以使其能够在Zepto环境...

    rails-behaviors, jQuery和Zepto的Rails UJS行为.zip

    rails-behaviors, jQuery和Zepto的Rails UJS行为 Rails 行为( 不推荐使用)Rails 行为实现了 Rails 3. x. 生成的data-* 行为这是一个替代 jquery-ujs的方法。 首先,它都是CoffeeScript好的,这对我来说很好 ! 其次...

    jQuery、zepto、js常用小技巧

    jQuery/zepto判断元素是否存在 // 判断长度是否存在, 正确 if ($elem.length) { } // 错误, 因为空数组也是true if ($elem) { } 合理判断数据类型 先看代码: function case(str) { return str.match(/reg/); } ...

    jqueryzepto插件把各种延迟串联起来采用管道式写法

    在jQuery或Zepto的上下文中,这意味着我们可以连续调用多个`.then()`,每个`.then()`都会处理前一个`.then()`的结果,形成一个有序的执行序列。 例如,如果我们有一个需要先后执行的三个任务A、B和C,传统的`...

    countdown:带有 jquery 或 zepto 的倒计时插件

    这个插件是为jQuery或Zepto这两个JavaScript库设计的,目的是帮助开发者轻松地在网页上实现动态的、可视化的倒计时效果。 jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互...

    SimpleSlideView:一个漂亮的小jQuery或Zepto插件,用于最简单的滑动视图

    一个漂亮的jQuery或Zepto插件,用于最简单的滑动视图。 如果您的应用程序是 ,则可以通过在项目目录中运行bower install SimpleSlideView来安装此插件。 历史 1.1.2 修复了插件处于非活动状态时changeView方法中的...

    data-fn:jquery 或 zepto 的自动数据绑定

    总的来说,"data-fn"为JavaScript开发提供了一种灵活的数据绑定机制,结合jQuery或Zepto,可以帮助我们构建响应式和动态的Web应用。但同时,也需要谨慎处理函数的引用和作用域,以确保代码的健壮性和可维护性。在...

    移动端基于jqueryzepto的UI组件库

    移动端基于jquery,zepto的UI组件库,目前实现 JS Components:Toast、Action、Tips、Dialog、Swiper、CityPicker、DatetimePicker、Tab、Range Css Component:oneborder、Loading、button 等

    zepto.js移动端jquery

    轻量级js库,适用于移动端,语法类似jquery

    ajax-loading-animation:jQuery和Zepto的简单ajax加载动画

    必须包含jQuery或Zepto文件和ajax-loading.js &lt; script src =" /path/to/ajax-loading.js " &gt; &lt;/ script &gt; &lt; script type =" text/javascript " &gt; //init: automatic monitoring ajax events ...

Global site tag (gtag.js) - Google Analytics