Phonegap中的Angular 2无法正常工作(普通javascript)

时间:2016-02-16 15:09:40

标签: javascript cordova angular

我使用简单的javascript构建了一个带有角度2的网站,以及它在浏览器中正常运行的所有内容,但是当我尝试构建phonegapp应用程序或将其与Phonegap Mobile应用程序一起使用时,它无法正常工作。

在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>它不会被角度解释。

你知道我应该改变什么工作吗?感谢。

1 个答案:

答案 0 :(得分:4)

您需要添加shims才能使其在phonegap上运行。这可以是es6-shim.js / es5-shim.js

可能会解决您的问题。