私は毎回のページが同様に開かれuibModalを開封しております:異なるファイルからのブートストラップuibmodalを閉じる
genres.js
app.controller('genresController', ['$scope', '$http', '$uibModal', 'blockUI', 'notifyService', 'lib',
function ($scope, $http, $uibModal,blockUI, notifyService, lib) {
$scope.genres = [];
var init = function() {
//Initial code
loadGenres();
};
var loadGenres = function() {
/*... some non-important codes... */
openFavoriteGenreDialog();
/*... some non-important codes... */
}, lib.handleError);
};
var openFavoriteGenreDialog = function() {
var modalInstance = $uibModal.open({
templateUrl: '/Dialog/FavoriteGenre',
controller: 'favoriteGenreDialogController'
});
modalInstance.result.then(function (msg) {
}, function (msg) {
//dismiss callback
});
};
init();
}]);
とモーダルコントローラは別のファイルとhtmlでありますそのモーダルのキャンセルボタンがあります。
FavoriteGenre.cshtml
ボタンは、これまでのところfavGenrer.js
$scope.cancel = function() {
var modalInstance = $uibModal.open({
templateUrl: '/Dialog/FavoriteGenre',
controller: 'favoriteGenreDialogController'
});
modalInstance.close();
};
のように見える機能を持っている別のコントローラで処理beeingてキャンセル
<button class="btn btn-default" type="button" ng-click="cancel()">Cancel</button>
その構造のために、私はモーダルEAを開いたり閉じたりしています私はキャンセルボタンを押します。とにかく、cancel()関数が別のファイル内の別のコントローラにあっても、閉じるボタンを押すとモーダルを閉じることができますか?私は、genres.jsにcancel()関数を入れようとしましたが、genresControllersの他のメソッドのために、erresを大量に取得することなく、genresControllerをhtml呼び出しすることができませんでした。
ANSWER
見つけます!問題はFavoriteGenre.cshtmlに私はちょうどそれのようであるとするために必要な
<div ng-controller="favoriteGenreDialogController" block-ui="genresContentDiv">
をしていたということでした。
<div block-ui="genresContentDiv">
、それは
$scope.cancel = function() {
$uibModalInstance.dismiss('cancel');
};
私が理解しているように、別のコントローラにある機能を実行しようとしています。私はそうです... – Raghav