我正在使用我的第一个Cordova应用程序来使用AngularJS,而且我对如何合并Cordova项目的起始JS感到有点迷失。
我目前拥有Cordova附带的默认index.js文件,我已将其修改为根据设备何时开启或离线包含一些事件。它创建了一个对象(app),并为initialize,bindEvents和onDeviceready添加了函数。
我应该在哪里定义AngularJS应用程序?在app.initialize()函数调用文档底部后?或者我可以完全抛弃JS文件的原始Cordova结构并为onDeviceReady做其他事情吗?
谢谢!
答案 0 :(得分:1)
基本上你可以在任何地方定义角度,我推荐一个单独的文件。 你需要担心的是在cordova之前首先加载角度。 以下是如何使用服务克服此问题的示例。
.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(...);
});