gpt4 book ai didi

javascript - 如何在 Phonegap 中使用 angularJs?

转载 作者:行者123 更新时间:2023-11-29 01:40:49 25 4
gpt4 key购买 nike

我正在尝试在我的 phonegap 应用程序中使用 angularjs。我已经成功创建了 cordova 项目。它正在工作。 “连接”变为“设备就绪”。一切正常

我是这样操作的:使用 angularjs 服务来检测 cordova“就绪”事件。

看代码,问题在题的最后

index.html

<!DOCTYPE html>
<html ng-app="MyApp">
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<meta name="msapplication-tap-highlight" content="no" />
<title>Hello World</title>
</head>
<body ng-controller="MyController">
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening" ng-hide="ready">Connecting to Device</p>
<p class="event received" ng-show="ready">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/q.js"></script>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/fsCordova.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>

请注意我从 .event.received 的 css 中删除了 display: none; 到 css 文件中

fsCordova.js

angular.module('fsCordova', []).service('CordovaService', ['$document', '$q',
function($document, $q) {

var d = $q.defer(),
resolved = false;

var self = this;
this.ready = d.promise;

document.addEventListener('deviceready', function() {
resolved = true;
d.resolve(window.cordova);
});

// Check to make sure we didn't miss the
// event (just in case)
setTimeout(function() {
if (!resolved) {
if (window.cordova) d.resolve(window.cordova);
}
}, 3000);
}]);

app.js

(function(){

var app = angular.module('myApp', ['fsCordova']);

app.controller('MyController', function($scope, CordovaService) {

this.ready = false;

CordovaService.ready.then(function() {
this.ready = true;
});

});

})();

问题?使用android SDK的监控工具,我在日志中看到这个错误,来自angular.ks

Error: $injector:modulerr
Module Error

Failed to instantiate module MyApp due to:
Error: [$injector:nomod] http://errors.angularjs.org/1.2.20/$injector/nomod?p0=MyApp
at Error ()
at file:///android_asset/www/js/angular.min.js:6:450
at file:///android_asset/www/js/angular.min.js:20:466
at file:///android_asset/www/js/angular.min.js:21:469
at file:///android_asset/www/js/angular.min.js:33:267
at Array.forEach (native)
at q (file:///android_asset/www/js/angular.min.js:7:280)
at e (file:///android_asset/www/js/angular.min.js:33:207)
at dc (file:///android_asset/www/js/angular.min.js:36:309)
at c (file:///android_asset/www/js/angular.min.js:18:139)

我想我有一个 .js 文件丢失或拼写错误的问题,但文件名和文件路径是正确的。

请帮我调试。

最佳答案

在您的 html 标记中更改此代码:

ng-app="MyApp"

ng-app="myApp"

关于javascript - 如何在 Phonegap 中使用 angularJs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com