【发布时间】:2016-02-16 15:09:40
【问题描述】:
我用 angular 2 用纯 javascript 构建了一个网站,它在浏览器中一切正常,但是当我尝试构建 phonegapp 应用程序或将它与 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> 它不是由角度解释的。
你知道我应该改变什么来工作吗?谢谢。
【问题讨论】:
-
我认为您需要在此处添加
es-5-shim的引用以在phonegap 上支持它。 -
你检查
onDeviceReady方法被调用了吗? -
@PankajParkar 感谢您的提示。它添加了 es6-shim.min.js
标签: javascript cordova angular