Angularjs $ionicModal.fromTemplateUrl undefined不是函数

Angularjs $ionicModal.fromTemplateUrl undefined不是函数,angularjs,ionic-framework,Angularjs,Ionic Framework,我想在我的应用程序中创建一个IonicModel表单,但它总是说: TypeError: undefined is not a function at new AppController (http://127.0.0.1:58710/www/js/home/AppController.js:15:17) at invoke (http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:11591:17) at Obje

我想在我的应用程序中创建一个IonicModel表单,但它总是说:

TypeError: undefined is not a function
    at new AppController (http://127.0.0.1:58710/www/js/home/AppController.js:15:17)
    at invoke (http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:11591:17)
    at Object.instantiate (http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:11602:23)
    at http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:14906:28
    at http://127.0.0.1:58710/www/lib/ionic/js/angular-ui/angular-ui-router.js:2797:28
    at nodeLinkFn (http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:14336:13)
    at compositeLinkFn (http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:13730:13)
    at publicLinkFn (http://127.0.0.1:58710/www/lib/ionic/js/ionic.bundle.js:13626:30)
    at updateView (http://127.0.0.1:58710/www/lib/ionic/js/angular-ui/angular-ui-router.js:2733:23)
    at http://127.0.0.1:58710/www/lib/ionic/js/angular-ui/angular-ui-router.js:2697:11 <div ui-view=""> 
这与示例中的完全相同,我只是不知道我做错了什么。。。 我的app.js是:

var App = angular.module('App', ['ionic', 'ngResource', 'ui.router']);
App.config(function ($stateProvider, $urlRouterProvider) {

    $stateProvider
        .state('home', {
            url: '/home',
            views: {

                'Header': {
                    templateUrl: 'templates/home/homeHeader.html',
                    controller: 'homeHeaderController'
                },
                '': {
                    templateUrl: 'templates/home/calendar.html',
                    controller: 'AppController'
                }
            }
        })

    $urlRouterProvider
        .otherwise('/home');

});


App.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('AppController', ['$scope', '$log', '$state', '$localstorage', AppController])
我有一个其他的应用程序,一切正常。我看不出这里有什么不对

编辑

我更改了AppController的第一行,现在又出现了一个错误

新的第一行:

function AppController($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
新错误:

“无法读取未定义的属性'fromTemplateUrl'”


问题在于依赖注入(DI)。如果您计划缩减代码,那么您使用的语法是好的,但是您必须在这两个地方以完全相同的顺序声明完全相同的依赖项。AppController对象的依赖项比您在angular.controller()方法中声明的多

控制器功能

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);
角度控制器声明

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);

问题在于依赖注入(DI)。如果您计划缩减代码,那么您使用的语法是好的,但是您必须在这两个地方以完全相同的顺序声明完全相同的依赖项。AppController对象的依赖项比您在angular.controller()方法中声明的多

控制器功能

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);
角度控制器声明

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);

问题在于依赖注入(DI)。如果您计划缩减代码,那么您使用的语法是好的,但是您必须在这两个地方以完全相同的顺序声明完全相同的依赖项。AppController对象的依赖项比您在angular.controller()方法中声明的多

控制器功能

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);
角度控制器声明

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);

问题在于依赖注入(DI)。如果您计划缩减代码,那么您使用的语法是好的,但是您必须在这两个地方以完全相同的顺序声明完全相同的依赖项。AppController对象的依赖项比您在angular.controller()方法中声明的多

控制器功能

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);
角度控制器声明

function AppController ($scope, $log, $state, Api, $localstorage, $ionicSideMenuDelegate, $ionicPopup, $ionicModal) {
...
}
App.controller('AppController', ['$scope', '$log', '$state', 'Api', '$localstorage', '$ionicSideMenuDelegate', '$ionicPopup', '$ionicModal', AppController]);