【问题标题】:Angular 2 in Phonegap doesn't work (plain javascript)Phonegap 中的 Angular 2 不起作用(纯 JavaScript)
【发布时间】: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() {...},但结果相同。

我可以看到它正在加载...所以&lt;app&gt;Loading...&lt;/app&gt; 它不是由角度解释的。

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

【问题讨论】:

  • 我认为您需要在此处添加es-5-shim 的引用以在phonegap 上支持它。
  • 你检查onDeviceReady方法被调用了吗?
  • @PankajParkar 感谢您的提示。它添加了 es6-shim.min.js

标签: javascript cordova angular


【解决方案1】:

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

这可能会解决您的问题。

【讨论】:

    猜你喜欢
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2017-01-03
    • 1970-01-01
    • 2016-12-18
    相关资源
    最近更新 更多