2016-04-12 12 views
1

i eine ionische modal haben, die Schaltfläche haben Benutzer geöffnet anderen Seite während dieser modal jrcropionische Fabrik nicht andere URL öffnen

meine Probe

angular.module('ionicApp', ['ionic']).controller('cropCtrl', function($http,$scope, $ionicModal, $jrCrop) { 
     $jrCrop.crop({ 
      url: 'img.jpg', 
      width: 200, 
      height: 200, 
     }) 
     .then(function(canvas) { 
      $ionicModal.fromTemplateUrl('result-cropped.html', function(modal) { 
      $scope.modal = modal; 

      modal.show().then(function() { 
       document.querySelector('.cropped-canvas').appendChild(canvas); 
      }); 
      }); 
     }); 

    }).factory("$jrCrop",["$ionicModal","$rootScope","$q",function(t,i,e) 

{.......................... 
,openpage:function(){$scope.go('images');} 
................... 
    }]); 

haben zu lassen, und ich habe Fehler sagt

$ scope ist nicht definiert

Antwort

0

Es ist undefiniert, weil Sie es nie definiert haben:

factory("$jrCrop",["$ionicModal","$rootScope","$q",function(t,i,e) 

Aber Sie wollen nicht einmal $scope in einer Fabrik verwenden. Sie würden von einer Fabrik, die Zugriff auf $scope hat, auf alles zugreifen, was von der Fabrik benötigt wird.

Blick auf diesen Stapel: Accessing $scope in AngularJS factory?

auch: Sie schreiben $scope.go('images');, als ob es $state.go('images'); sein sollten, wenn Sie eine $scope Funktion go() genannt haben. Aber, wieder sollten Sie keines von beiden in der Fabrik verwenden.