当我尝试在Ionic中使用列表时,为什么会出现此JavaScript错误?

时间:2015-04-06 15:19:18

标签: javascript html css list ionic

每次我尝试在我的应用程序中使用列表它都无法运行时,我打开了开发工具,由于某种原因我得到了以下错误,我对这些语言不熟悉,所以对此感到非常感激。我尝试声明一个var传递它通过函数,因为我虽然错误告诉我做但我没有工作。

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

1 个答案:

答案 0 :(得分: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) {