我有一个离子模式,有按钮允许用户打开其他页面 而这个模态有jrcrop
我的样本
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');}
...................
}]);
我有错误说
$ scope未定义
答案 0 :(得分:0)
未定义,因为您从未定义它:
demo.main()
但你甚至不想在工厂内使用factory("$jrCrop",["$ionicModal","$rootScope","$q",function(t,i,e)
。您可以在有权访问$scope
的控制器内访问工厂所需的任何内容。
看看这个堆栈:Accessing $scope in AngularJS factory?
另外:除非您有一个名为$scope
的{{1}}函数,否则您应该将$scope.go('images');
写为$state.go('images');
。 但,再次,您不应该使用工厂中的任何一个。