簡體   English   中英

如何使用 onDeviceReady 設置 AngularJS 應用程序並為 Cordova 初始化函數?

[英]How do I setup an AngularJS app with onDeviceReady and initialize functions for Cordova?

我正在開發我的第一個 Cordova 應用程序以使用 AngularJS,但我對如何合並 Cordova 項目的起始 JS 有點迷茫。

我目前擁有 Cordova 中包含的默認 index.js 文件,我已將其修改為包含一些基於設備何時啟動或脫機的事件。 它創建一個對象(應用程序)並添加用於初始化、bindEvents 和 onDeviceready 的函數。

我應該在哪里定義 AngularJS 應用程序? 在文檔底部的 app.initialize() 函數調用之后? 或者我可以完全放棄 JS 文件的原始 Cordova 結構並為 onDeviceReady 做其他事情嗎?

謝謝!

基本上你可以在任何地方定義角度,我推薦一個單獨的文件。 您必須擔心的是在cordova之前首先加載angular。 以下是如何使用服務克服此問題的示例。

.service('cordovaReady', function($q){
 var cordovaDefer = $q.defer();

 //Note: if you want browser support you'll need to detect
 //what platform you're running because deviceready event won't be called
 //unless cordova is running.
 document.addEventListener("deviceready", cordovaDefer.resolve, false);

 return function(){
  return cordovaDefer.promise;
 };
});

每次在應用程序中使用cordova插件時都使用它,如下所示:

//$cordovaFacebook is just an example
.controller('someCtrl', function(cordovaReady, $cordovaFacebook){
 cordovaReady()
  .then(function(){

   //Plugins available here
   $cordovaFacebook.api('/me').then(...);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM