微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery-mobile – jquery mobile require.js和骨干网

我真的在努力与require.js和jquery手机。我有一个基于松散的文件结构和加载模式

https://github.com/appboil/appboil-requirejs-backbonejs-jquerymobile-phonegap

但它是老的,我不得不对require 2.0版本进行修改。是否有社区接受的方式使用jquery mobile,backbonejs和requirejs在一起?我想使用骨干的路由而不是jquery手机。此外,该模板有电话沟通,我不关心。

解决方法

这是我使用的main.js文件
require.config({
  baseUrl: "/js/",paths: {
    jquery: 'libs/jquery/jquery-1.7.1','jquery.mobile-config': 'libs/jqm/jquery.mobile-config','jquery.mobile': 'libs/jqm/jquery.mobile-1.1.0','jquery.mobile.asyncfilter': 'libs/jqm/asyncfilter',underscore: 'libs/underscore/underscore-1.3.3',backbone: 'libs/backbone/backbone-0.9.2',templates: '../templates'
  },shim: {
          'underscore': {
            exports: "_"
          },'backbone': {
              //These script dependencies should be loaded before loading
              //backbone.js
              deps: ['jquery','underscore'],//Once loaded,use the global 'Backbone' as the
              //module value.
              exports: 'Backbone'
          },'jquery.mobile-config': ['jquery'],'jquery.mobile': ['jquery','jquery.mobile-config'],'jquery.mobile.asyncfilter': ['jquery.mobile'],}
});

require([
  'jquery','app','jquery.mobile','jquery.mobile.asyncfilter'
],function( $,App ){
    $(function(){
      App.initialize();
    });
});

最后一点非常重要,以使JQM正确加载(实际上是功能)。这部分:

require([
      'jquery','jquery.mobile.asyncfilter'
    ],App ){
        $(function(){
          App.initialize();
        });
    });

由于我需要jquery jquery(jquery mobile),我将加载它们,并感谢上面的垫片代码,依赖关系以正确的顺序加载。我实际上并没有将任何jqm变量传递给函数调用,它只传递$和App。下一个重要的部分是jqm-config文件

define(['jquery'],function ($) {
      $(document).on("mobileinit",function () {
          $.mobile.ajaxEnabled = false;
          $.mobile.linkBindingEnabled = false;
          $.mobile.hashListeningEnabled = false;
          $.mobile.pushStateEnabled = false;
      });
});

您可以将jqm的所有preinit代码放在该文件中。毕竟,你应该可以使用jqm!

原文地址:https://www.jb51.cc/jquery/181984.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐