我用纯JavaScript在Angular 2中构建了一个网站,在浏览器中一切正常,但是当我尝试构建PhoneGap应用程序或在PhoneGap移动应用程序中使用它时,它不起作用。
在index.html中,我有:
<body>
<app>Loading app...</app>
<!-- 1. Load libraries -->
<script src="libs/angular/2.0.0-beta.3/angular2-polyfills.js"></script>
<script src="libs/angular/2.0.0-beta.3/Rx.umd.js"></script>
<script src="libs/angular/2.0.0-beta.3/angular2-all.umd.js"></script>
<!-- 2. Load our 'modules' -->
<script src='app/services.build.js'></script> <!-- All our services, as server comunication -->
<script src='app/components.build.js'></script> <!-- All the components -->
<script src='app/app.component.js'></script> <!-- App component, main one -->
<script src='app/main.js'></script> <!-- Main -->
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
phonegapApp.initialize();
</script>
</body>
在main.js中我有以下内容:
var phonegapApp = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
ng.platform.browser.bootstrap(AppComponent,[
ng.router.ROUTER_PROVIDERS,
new ng.core.Provider(ng.router.LocationStrategy, {useClass: ng.router.HashLocationStrategy})
]);
}
};
当设备准备好时,我会包含
ng.platform.browser.bootstrap
。(也尝试过使用 document.addEventListener('DOMContentLoaded', function() {...}
但结果相同。)我只能看到“加载中...”,所以
<app>Loading...</app>
没有被 Angular 解释。你有什么建议可以让它正常工作吗?谢谢。
es-5-shim
的参考文献,以便在 PhoneGap 上支持它。 - Pankaj ParkaronDeviceReady
方法是否被调用了吗? - Thierry Templier