私はangular-modal-serviceライブラリを使用しています。私のロジックは:モーダルが開かれているときには、SomeService
と$rootScope.$broadcast
からSomeService
からモーダルコントローラへの機能を実行し、サービスからモーダルコントローラにリソースを送信できるようにします。しかし、それは発砲しません。私が逃したものを理解するのを助けてください。ありがとうございました。angularjsモーダルサービスブロードキャストと問題
**サービス:**
angular.module('ng-laravel').service('SomeService', function($rootScope, Restangular, CacheFactory, $http) {
this.testFunction = function() {
console.log("from service");
$rootScope.$broadcast('event', {success:'success'});
};
}
**コントローラー:**
$scope.show = function(customer_id) {
ModalService.showModal({
templateUrl: 'modal.html',
inputs: {
customer_id: customer_id
},
scope: $scope,
controller: function($scope, close) {
$scope.customer_id = customer_id;
$scope.close = function(result) {
close(result, 500); // close, but give 500ms for bootstrap to animate
};
$scope.$on('event', function(event, data){
alert('yes');
console.log('from modal controller');
});
}
}).then(function(modal) {
SomeService.testFunction(customer_id, tour_id);
modal.element.modal();
modal.close.then(function(result) {
$scope.message = "You said " + result;
});
});
};
それが動作する機能を切り替えた後、しかし... はどのように私は、モーダルにデータを渡すことができます? ui-bs-modalのように、彼らは解決しました。
は、あなたが不足している。このため試す 'これを返す;'あなたのサービスでは? –
@PrashantGhimireサービスから 'this'を返す必要はありません。' service'は関数の 'this'(コンテキスト)を暗黙的に返します –
嬉しいことです! @PankajParkar;) –