0

我有一个 HTML 单页 Web 应用程序,我正试图将其转换为 Windows Phone 8 的 PhoneGap 应用程序。

该应用程序使用 Angular 和 jQuery Mobile,为了让两者合作,我不得不使用jquery-mobile-angular-adapter。该应用程序在所有浏览器中都能正常运行,包括诺基亚 Lumia Windows Phone 上的 IE 10 移动版。

当我在设备上作为 PhoneGap 应用程序进行编译和测试时,各种库似乎可以正常加载和初始化,直到它们到达 Angular 控制器。控制器从不加载/初始化,无论它们多么简单。

以下是库的加载方式:

<script type="text/javascript" src="cordova.js"></script>
<script src="javascripts/vendor/jquery-mobile-angular-adapter-standalone-1.3.1.js"    type="text/javascript"></script>
<script>
  document.addEventListener('deviceready', function() {
    angular.element(document).ready(function() {
      console.log('DEVICE READY - ANGULAR DOCUMENT READY');
      angular.bootstrap(document.body, ['psxclient']);
    });
  }, false);
</script>  
<script src="javascripts/vendor/jquery.easing.1.3.js" type="text/javascript"></script>
<script src="javascripts/vendor/jquery.mobile.scrollview.js" type="text/javascript"></script>
<script src="javascripts/vendor/jquery.metro.js" type="text/javascript"></script>
<script src="javascripts/vendor/jquery.metro.mobile.js" type="text/javascript"></script>
<script src="javascripts/vendor/underscore.js" type="text/javascript"></script>
<script src="javascripts/services.js" type="text/javascript"></script>
<script src="javascripts/filters.js" type="text/javascript"></script>
<script src="javascripts/app.js" type="text/javascript"></script>

这是一些模仿我的 Angular 的简单代码,其中一切都初始化并且console.log跟踪工作,减去控制器的'APPCTRL'

var psxclient = angular.module('psxclient', ['stubdata', 'common-filters']).
config(function ($routeProvider) {
    console.log('APP');
        $routeProvider.when('/deal/:id', 
             {
                templateUrl: '#deal',
                jqmOptions: { transition: 'slide' }
        });
    console.log('CONFIG COMPLETE');
    }).controller('AppCtrl', function ($scope, $history, $location)
    {
    console.log('APPCTRL');
   });
4

1 回答 1

0

我认为在 $routeProvider 中,没有任何命令可以调用AppCtrl控制器运行。我对我的答案没有信心,因为如果有这个原因,AppCtrl也不应该能够在网络浏览器中工作。但值得一试,将 $routeProvider 更改为以下代码。

 $routeProvider.when('/deal/:id', 
 {
            templateUrl: '#deal',
            jqmOptions: { transition: 'slide' },
            controller: 'AppCtrl'
 });

此外,是否显示了“设备就绪 - 角度文档就绪”?

于 2013-11-02T05:01:42.183 回答