私のHTMLページ(rollup.html)には、モーダルを開くボタンがあります。ここのjsページ(rollup.js)でデータを表示するためのモーダルにブロードキャストを使用するボタンをクリック
<button id="myBtn" ng-click="printDivModal('rollup-tab')">ModalTest</button>
モーダルが
$scope.printDivModal = function(divName) {
console.log('opening pop up');
var ModalInstance = $uibModal.open({
//animation: $ctrl.animationsEnabled,
templateUrl: 'app/views/modals/stackedModal.html',
size: 'lg',
});
}
ボタンをクリックすると、モーダルを開くことができますコードはstackedModal.html
で書かれているものを示しています<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">The Modal Header</h4>
</div>
<div class="modal-body">
<p>Text inside the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
テーブルからデータを表示するために、ブロードキャストを使用してボタンがモーダルを開くようにします。 stackedModal.jsで私はそれを達成しようとしています。私はjsでコントローラを作成しています
var app = angular.module('dmdesktop');
app.controller('Rollup', rollUpCtrl);
rollUpCtrl.$inject = ['$scope', '$rootScope', '$http', '$uibModal','headersvc','locFiltersvc']
function rollUpCtrl($scope, $rootScope, $http, $uibModal, headersvc, locFiltersvc) {
$rootScope.$broadcast('printerFriendly', service.searchFilter);
$scope.$on('printerFriendly', function(event, filter){
$scope.searchFilter = filter;
$scope.getData();
$scope.gridOptions.data = data;
});
}
現在のところ、データのないモーダルが表示されています。どんな助けもありがとうございます。
混乱したビット。私はこのことを初めて知っています。ですから、stackedModal.jsコントローラの代わりに$ uibModalのデータを解決する必要がありますか? uibModal内にブロードキャストを含めるべきですか? @HunterBrennick – Adrew
モーダル設定をコードの最初のスニペットと同様に設定すると、 'YourModalCtrl'が初期化される前に' DataYouNeed'が確実に解決されます。コードの2番目のスニペットでは、解決されたデータをモーダルコントローラーへの依存として含める方法を説明しています(それを '$ scope'やその他必要なものに付けることができます)。あなたはモーダルが開く前にデータを持っています。 –