我有一个 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');
});