0
我使用的离子框架构建与AngularJS和科尔多瓦的混合应用。对于AngularJS和JavaScript都是全新的,这并不是一件好事。AngularJS参数“***”不是一个函数,得到了不确定
一切工作正常,直到我决定每个控制器/服务1个文件重新组织我的应用程序的结构。所以我很确定问题来自那里,我无法找到解决方法。
下面的代码:
JS/app.js
angular.module('app', ['ionic', 'app.controllers'])
.run(function($ionicPlatform) {
...
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'templates/login.html',
controller: 'LoginCtrl'
})
...
JS /控制器/ LoginCtrl.js
angular.module('app.controllers', [])
.controller('LoginCtrl', ['$scope', '$http', '$state'], function($scope, $http, $state) {});
的index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="cordova.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers/LoginCtrl.js"></script>
</head>
<body ng-app="app">
<ion-nav-view></ion-nav-view>
</body>
</html>
试过代码的许多变型以上,也没有用。
任何帮助,不胜感激...
编辑
我担心在找出问题是什么(或只是另一个症状)取得了一些进展。
在我index.html
文件,如果切换控制器的声明的顺序,一个正确的app.js总是被忽略后声明。这是我的错误,当我把他们的顺序如下
Controller 'ionNavBar', required by directive 'ionNavButtons', can't be found!
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="cordova.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers/RegisterCtrl.js"></script>
<script src="js/controllers/LoginCtrl.js"></script>
感谢你的帮助,马修。尽管如此,仍然得到同样的错误 – Fantastic 2014-11-05 01:20:30
修正了它。对于Ionic框架有一些其他问题,并使用angular.module('app')。控制器而不是angular.module('app.controllers',[]).controller。 谢谢! – Fantastic 2014-11-05 02:52:01