AngularJS和cordova: web应用工作,但不能cordova:实例化模块失败
AngularJS and cordova : web app working but not on cordova : Failed to instantiate module
我正在尝试制作一个基于web应用程序的移动应用程序(简单的todolist),使用cordova。它可以在ripple上工作,但在手机上,angularJS似乎无法激活。
在android studio,我得到这个在控制台:
E/Web Console: Uncaught Error: [$injector:modulerr]实例化module todoList失败,原因如下:错误:[$injector:nomod]模块'todoList'不可用!您要么拼错了模块名,要么忘记加载它。如果注册一个模块,请确保将依赖项指定为第二个参数。
这里是index.html:
<!DOCTYPE html>
<html lang="fr" ng-app="todoList">
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Pense-bête</title>
</head>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/angular.js"></script>
<script type="text/javascript" src="js/todoList.js"></script>
<body>
<header>
<h1>Pense-bête</h1>
</header>
<section ng-controller="todoCtrl">
<form id="todo-form" ng-submit="addTodo()">
<input id="new-todo" placeholder="Que voulez-vous acheter ?" ng-model="newTodo" />
</form>
<article ng-show="todos.length">
<ul id="todo-list">
<li ng-repeat="todo in todos" ng-class="{completed: todo.completed}">
<div class="view">
<input class="mark" type="checkbox" ng-model="todo.completed" />
<span>{{todo.title}}</span>
<span class="close" ng-click="removeTodo(todo)">x</span>
</div>
</li>
</ul>
<div>
<input id="mark-all" type="checkbox" ng-model="allChecked" ng-click="markAll(allChecked)" />
<label class="btn btn-info" for="mark-all">Tout cocher</label>
<button class="btn btn-danger" ng-click="clearCompletedTodos()">Supprimer les tâches cochées</button>
<button class="glyphicon glyphicon-refresh" ng-click="savedata()">Synchroniser ma liste</button>
</div>
<div class="view" ng-model="result">
<span>{{result}}</span>
</div>
</article>
</section>
</body>
</html>
和todolist.js:
//js/todoList.js
'use strict';
/**
/**
* Déclaration du module todoList
*/
var todoList = angular.module('todoList',[]);
/**
* Contrôleur de l'application "Todo List" décrite dans le chapitre "La logique d'AngularJS".
*/
todoList.controller('todoCtrl', ['$scope',
function ($scope) {
// Pour manipuler plus simplement les todos au sein du contrôleur
// On initialise les todos avec un tableau vide : []
var todos = $scope.todos = [];
// Ajouter un todo
$scope.addTodo = function () {
// .trim() permet de supprimer les espaces inutiles
// en début et fin d'une chaîne de caractères
var newTodo = $scope.newTodo.trim();
if (!newTodo.length) {
// éviter les todos vides
return;
}
todos.push({
// on ajoute le todo au tableau des todos
title: newTodo,
completed: false
});
// Réinitialisation de la variable newTodo
$scope.newTodo = '';
};
// Enlever un todo
$scope.removeTodo = function (todo) {
todos.splice(todos.indexOf(todo), 1);
};
// Cocher / Décocher tous les todos
$scope.markAll = function (completed) {
todos.forEach(function (todo) {
todo.completed = !completed;
});
};
// Enlever tous les todos cochés
$scope.clearCompletedTodos = function () {
$scope.todos = todos = todos.filter(function (todo) {
return !todo.completed;
});
};
}
]);
为了在手机上调试您的网站,您可以使用safari移动检查器访问控制台并开始记录消息,以及查看可能弹出的任何错误。你可以在这里找到如何做到这一点:http://webdesign.tutsplus.com/articles/quick -提示-使用- web -检查- -调试-移动safari -设计- 8787
天哪,我的src里有todoList.js而不是todoList.js .
至少,它让我发现了chrome的远程调试。
谢谢!
相关文章:
- JS可以在Chrome中工作,但不能在Firefox中工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- Highcharts可以从服务器加载数据,但不能更新
- 刷新GoogleMaps tile服务器可以使用JavaScript,但不能使用GWT
- node.js可以识别字符模式,但不能识别数字模式
- 如何在元素中处理鼠标事件,但不能在其子元素上处理
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- Javascript可以在chrome中使用,但不能在其他浏览器中使用
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- Rails Production-可以工作,但不能编辑/删除/创建记录
- 能够在Highcharts中看到值,但不能看到图形
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- 通过Javascript SDK登录Facebook可以在移动设备和本地主机上使用,但不能在台式机上使用
- jQuery/Javascript函数可以在Chrome中使用,但不能在IE11中使用
- 可以将模型传播到组件,但不能传播到sap.ui.jsfragment
- 能够获取元素长度,但不能获取内部 HTML
- AngularJS和cordova: web应用工作,但不能cordova:实例化模块失败