私は現在、AngularJs 1.4.6をベースにしています。角度1.5.11に移行しました。その結果Angular-UIもアップグレードする必要があります。 angularUIのブートストラップをバージョン0.14.3にアップグレードすると、プレフィックスの名前が変更されました。以前は$modal
& $modalInstance
でした。現在は$uibModal
& $uibModalInstance
です。Angualr Jsで複数のサービスの名前を変更するにはどうすればよいですか?
コントローラでこのサービスを使用するための以前の構文は、このでした:今$モーダルと$ modalInstance
angular.module('main').controller('mainctrl',function($scope,$modal...) {
$scope.open = function() {
var modalInstance = $modal.open({
templateURL: 'modal.html',
controller: 'modalCtrl',
size : 'md',
resolver : {
data: function() {
return $scope.items;
}
}
})
modalInstance.result.then(function() {}, function() {});
}
});
angular.module('main').controller('modalCtrl',function($scope,$modalInstance,data) {
console.log(data);
});
このサービスは50+以上のコントローラで使用され、何度も呼び出されているので、両方の を推奨されていません。私はこのサービスの名前を変更するのではなく、名前を変更することを考えました。ここで
は、私がやったことだ:
.factory('$modal',function($uibModal){
return $uibModal;
});
し、必要なコントローラに注入:私は$ modalInstanceのために同じことをやったとき
angular.module('main',function($scope,$modal...) {
/**
});
は今deprication警告がモーダル$のために来ていないが、警告が来ています。 ここに私が実装されたコードです:
.factory('$modalInstance',function($uibModalInstance){
return $uibModalInstance;
});
を、どのように私はこれを解決することができますか?私はまた、プレフィックスが変更された20以上のサービスについてこれを行う必要があります。私は20のファクトリメソッドを作成する必要がありますか、それとも別の方法で行うことができますか?