千家信息网

整合jQueryMobile+AngularJs的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,整合jQueryMobile+AngularJs的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。两者都是不错的J
千家信息网最后更新 2026年11月01日整合jQueryMobile+AngularJs的示例分析

整合jQueryMobile+AngularJs的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

两者都是不错的JS编程框架,但是各自用途不同

1. jQuery Mobile提供了不错的图形空间,以及依赖于jQuery本身,提供了不少空间操作的API

2. Angular没有啥控件,但是是一个很好的JS的MVC框架,以及提供了空间的数据绑定功能。

于是,开始有些开源的项目把两者整合在一起,比如

https://github.com/opitzconsulting/jquery-mobile-angular-adapter

但是有了这个adapter,两者就可以很好的工作了么,NO。有些问题,比如 两者page加载方式是不一样的,对于每个page, Angular是导航的使用route在需要的时候把page片段加载到浏览器的,URL类似于http://angular.github.io/angular-phonecat/step-7/app/#/phones/motorola-xoom-with-wi-fi,注意在#后面才是真正的资源地址,然后初始化资源对应的controller,这样你可以初始化显示数据。然后jQuery Mobile是需要一次性把所有page都加载到客户端。这样子的话,如果如果在jQuery Mobile中你为每个page定义一个angular的controller,那么初始化你的angular controller的时候页面还未显示

我们需要一个设计实现,为每个jQuery Mobile Page定义一个Angular的controller,每个controller完成对应的page的数据绑定,如何实现

1. 页面开发使用jQuery Mobile, 我们为root body定义一个root的angular controller比如

2. 导航问题:导航使用jQuery Mobile的$.mobile.changePage而不使用angular的route,因为页面使用的jQuery Mobile写的。页面导航除了切换page,最重要的一点是初始化页面数据,而因为在jQuery mobile下面,在页面加载阶段所有的controller都初始化了,你只能导航时在root controller里再去重新刷新显示页面的绑定数据,这样要求所有页面的绑定数据需要在root controller里面定义,按照angular的规则,所有的子controller都会继承这些数据定义。定义的时候***使用结构而不是用primary type,这样子controller可以直接饮用,比如定义一个shop的数据结构

$scope.shop = {};  $scope.shop.catelogs = null;  $scope.shop.advices = [];  $scope.shop.child = [];  $scope.shop.products = [];

3. 我往往会个导航定义一个单独的控制器,使用它初始化page controller,比如

angular  .module(  'ngPageNav',  [],  [  '$provide',  function($provide) {  $provide  .factory(  'ngPageNavigator',  [  '$http',  function($http) {  function nav($scope,  $http, action,  data,  ignoreStack) {  .....  }  return {  nav : nav,  back : back  };     }  } ]);

} ]).value('name', 'ngPageNav');

3. 你调用$.mobile.changePage往往页面绑定数据变了,但是页面不会刷新page页面,最简单的处理方式是往后台send 一个dummy的请求。

4. 如果你在打开你的jQuery Mobile的时候需要直接切换到某个page,请在你的root controller里面监听jqmInit

$scope.$on("jqmInit",function() {    }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

页面 数据 导航 时候 空间 整合 不错 方式 样子 框架 结构 资源 问题 切换 帮助 示例 分析 不同 清楚 重要 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 喔噻互联网科技有限公司 华服互联网科技靠谱吗 互联网科技有限公司经营范围 互联网和科技创新 杭州互联网科技公司 科技互联网创业计划书 成都互联网科技公司100强 阿里互联网科技公司 互联网金融科技公司干啥的 新兴科技互联网创新大赛颁奖典礼 深圳市优智互联网科技有限公司 国大互联网教育科技有限公司工作 民营互联网公司国防科技 互联网科技如何创业 高科技互联网套路 深圳互联网科技的发展 易企秀互联网科技是做什么的 济南小医互联网科技有限公司招聘 平安好医生打造互联网科技医疗 亿人帮互联网科技有限公司 喔噻互联网科技 互联网科技英文 互联网养老 桔豆科技 互联网巨头投资的硬核科技 卫星互联网科技股票 中国互联网公司排名锤子科技 山东子淼互联网科技有限公司 宁波跨境商互联网科技有限公司 广西科技产业互联网是什么
0