繁体   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