2016-09-28 2 views
1

Привет Я создал образец программы в ионной форме. Здесь Im создания переменной, т.е. (вар ItemCheck = angular.module ('магазин' [ 'ионных', 'starter.controllers']);) в app.js ионного файла:Понимание ошибки: «Ошибка: ng: areq»

app.js

var itemCheck=angular.module('Shop',['ionic','starter.controllers']); 
angular.module('starter', ['ionic','starter.controllers']) 
.run(function($ionicPlatform) {] 
    $ionicPlatform.ready(function() {....}); 

и Im используя созданный переменный в моем controller.js Симметричной для доступа к HTML страницы:

angular.module('starter.controllers', []) 
     .controller('AppCtrl',function ($scope, $ionicModal,$timeout,$ionicHistory) { 
     // }); 

     itemCheck.controller('fruit', ['$scope', function ($scope) { 

      $scope.home = function() { 
       window.location = "#/menu.html" 
      } 

HTML страница:

<ion-content ng-app="Shop" ng-controller="fruit"> 
    <header> 

, но на исполнение Im ошибка прибудете в которой говорится, что

ionic.bundle.js:26794 Error: [ng:areq] Argument 'fruit' is not a function, got undefined 

что смысл этой ошибки и почему он утверждает, что «плод» не является функцией. И я не хочу, чтобы создать отдельный .js файлы

+0

Не следует ng-controller = "AppCtrl" –

+0

Вы определили контроллер внутри другого контроллера. Попробуйте отделить их. –

+0

@RaviTeja оба - разные контроллеры. – Rudhra

ответ

2

app.js должно быть, как это

angular.module('starter', ['ionic','starter.controllers']) 
.run(function($ionicPlatform) {]..... 

контроллер

angular.module('starter.controllers', []) 
    .controller('fruit',function ($scope, $ionicModal,$timeout,$ionicHistory) { 
$scope.home = function() { 
      window.location = "#/menu.html" 
     } 
    // }) 

HTML шаблон

<ion-content ng-app="Shop" ng-controller="fruit"> 

Вы делать неправильно. Вы должны прочитать больше. Спасибо

+0

Я уже пробовал то, что вы объяснили, и это работало, но мой старший разработчик сказал использовать так, как я описал выше. Вот почему я опубликовал его. @Ujjwal kaushik – Rudhra

+0

Это не имеет никакого смысла. только одно приложение AngularJS может автоматически загружаться в HTML-документ. Чтобы запустить несколько приложений в документе HTML, вы должны вручную загрузить их с помощью углового.bootstrap. –

+0

Вот это .. возможно, это поможет вам http://jsfiddle.net/luisperezphd/j5jzsppv/ –

Смежные вопросы