【问题标题】:Why am I getting this JavaScript error when I try use lists in Ionic?当我尝试在 Ionic 中使用列表时,为什么会出现这个 JavaScript 错误?
【发布时间】:2015-04-06 15:19:17
【问题描述】:

每次我尝试在我的应用程序中使用列表时,它都无法正常工作,我打开了开发工具,由于某种原因我收到以下错误,我是这些语言的新手,因此非常感谢您的帮助。我尝试声明一个 var any 通过函数传递它,因为这就是我虽然错误告诉我要做的事情,但那没有用。

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

【问题讨论】:

    标签: javascript html css list ionic


    【解决方案1】:

    在这一行中你指定了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) {
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      相关资源
      最近更新 更多