0

angularでngDialogを使用できないようです。ここに私のコードがあります

discountModal 関数

 $scope.discountModalOpen = function () {
  ngDialog.open({
      template: 'views/discountModal.html',
      controller: 'ModalInstanceCtrl',
      scope: $scope
    });
  };

discountModal のコントローラー

angular.module('myApp')
.controller('myProductsCtrl', 
['$scope', '$stateParams', 'productService', '$modal','ngDialog', '$filter','$location',
function ($scope, $stateParams, productService, $modal, $filter,ngDialog, $location) {
 });

app.js

angular
.module('myApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngSanitize',
'ngTouch',
'restangular',
'ui.router',
'ui.bootstrap',
'angularMoment',
'timer',
'ngMessages',
'ngDialog'
])

JavaScriptコンソールで次のエラーが引き続き発生します

TypeError: ngDialog.open is not a function at Scope.$scope.discountModalOpen ( http://localhost:9000/scripts/controllers/myProductsCtrl.js:293:18 ) at fn (eval at ( http://localhost:9000 ) /bower_components/angular/angular.js:13231:15 )、:4:242) http://localhost:9000/bower_components/angular-touch/angular-touch.js:478:9 で Scope.$get.Scope .$eval ( http://localhost:9000/bower_components/angular/angular.js:15916:28 ) Scope.$get.Scope.$apply ( http://localhost:9000/bower_components/angular/angular.js ) で:16016:25 ) HTMLButtonElement で。( http://localhost:9000/bower_components/angular-touch/angular-touch.js:477:13 ) HTMLButtonElement.jQuery.event.dispatch (http://localhost:9000/bower_components/jquery/dist/jquery.js:4435:9 ) HTMLButtonElement.jQuery.event.add.elemData.handle ( http://localhost:9000/bower_components/jquery/dist/jquery ) .js:4121:28 )

4

1 に答える 1

8

問題は、注射剤の順序が間違っていることです。

angular.module('myApp')
.controller('myProductsCtrl', 
['$scope', '$stateParams', 'productService', '$modal','ngDialog', '$filter','$location',
function ($scope, $stateParams, productService, $modal, ngDialog, $filter, $location) {
 });

あなたはngDialog注射され$filter、その逆もありました。

于 2015-08-24T11:53:16.940 に答える