2015-04-06 74 views
0

每次我尝试在我的应用程序中使用一个列表它永远不会工作,我打开开发工具,由于某种原因,我得到以下错误,我是新来的这些语言,所以帮助所有人都表示赞赏。我尝试声明一个var任何传递它通过函数,因为这是我虽然错误告诉我做,但没有奏效。当我尝试在Ionic中使用列表时,为什么会出现此JavaScript错误?

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>calorific</title> 

<link href="lib/ionic/css/ionic.css" rel="stylesheet"> 
<link href="css/style.css" rel="stylesheet"> 

<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above 
<link href="css/ionic.app.css" rel="stylesheet"> 
--> 

<!-- ionic/angularjs js --> 
<script src="lib/ionic/js/ionic.bundle.js"></script> 

<!-- cordova script (this will be a 404 during development) --> 
<script src="cordova.js"></script> 
<!-- your app's js --> 
<script src="js/app.js"></script> 
</head> 

<body ng-app="calorific" ng-controller="calCtrl"> 
<ion-pane> 

    <ion-content> 
    <p></p> 
    <div class="card"> 
     <div class="item item-text-wrap">           
      This is a basic Card which contains an item that has wrapping text. 
      </div> 
     </div> 
    <ion-list> 
     <ion-item ng-repeat="items in item"{{items.name}}> </ion-item> 
    </ion-list> 
    </ion-content> 
</ion-pane> 
</body> 
</html> 

JS:

angular.module('calorific', ['ionic']) 

.run(function($ionicPlatform) { 
$ionicPlatform.ready(function() { 
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
// for form inputs) 
if(window.cordova && window.cordova.plugins.Keyboard) { 
    cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
} 
if(window.StatusBar) { 
    StatusBar.styleDefault(); 
} 
}); 
}) 

app.controller("calCtrl", function($scope) { 
$scope.items= [ 
    {name: 'apple'}, 
    {name: 'banana'}, 
    {name: 'banana'}, 
    {name: 'banana'} 
    ] 
}); 

错误:

GET http://localhost:8100/css/style.css 
app.js:17 Uncaught ReferenceError: app is not defined 
ionic.bundle.js:19526 Error: [ng:areq] Argument 'calCtrl' is not a function, got undefined 
http://errors.angularjs.org/1.3.13/ng/areq? p0=calCtrl&p1=not%20a%20function%2C%20got%20undefined 
at REGEX_STRING_REGEXP (ionic.bundle.js:7982) 
at assertArg (ionic.bundle.js:9499) 
at assertArgFn (ionic.bundle.js:9509) 
at ionic.bundle.js:16350 
at ionic.bundle.js:15518 
at forEach (ionic.bundle.js:8250) 
at nodeLinkFn (ionic.bundle.js:15505) 
at compositeLinkFn (ionic.bundle.js:14997) 
at publicLinkFn (ionic.bundle.js:14876) 
at ionic.bundle.js:9369 

回答

4

在这一行已指定app

app.controller("calCtrl", function($scope) { 

但它没有在任何地方定义。

要么删除app,它会像:

angular.module('calorific', ['ionic']) 

.run(function($ionicPlatform) { 
$ionicPlatform.ready(function() { 
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
// for form inputs) 
if(window.cordova && window.cordova.plugins.Keyboard) { 
    cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
} 
if(window.StatusBar) { 
    StatusBar.styleDefault(); 
} 
}); 
}) 

.controller("calCtrl", function($scope) { 
$scope.items= [ 
    {name: 'apple'}, 
    {name: 'banana'}, 
    {name: 'banana'}, 
    {name: 'banana'} 
    ] 
}); 

否则,使用如下:

angular.module('calorific').controller("calCtrl", function($scope) { 
相关问题