ui-bootstrap 的新手,我已经让模式出现,但无法通过按下按钮将其关闭。我尝试了很多组合,但似乎没有任何效果(或者它使模态根本不出现)。
模态在一个单独的文件中:
<div ng-controller = 'entryCtrl' class="modal" id="modal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header"></div>
<div class="modal-body">
<div class="modal-inner-content">
</div>
<div class="modal-footer" id="modal-footer">
<button type="button" class="btn btn-success" ng-click="cancel()"><i class="glyphicon glyphicon-backward"></i> Back</button>
<button type="button" class="btn btn-danger" ng-click="ok()"><i class="glyphicon glyphicon-forward"></i> Continue</button>
</div>
</div>
</div>
</div>
</div>
它在具有相同控制器的不同 html 文件中调用(我尝试将它们作为不同的控制器,但变量似乎根本不会注入,即模态实例将未定义)。
在控制器中,我可以打开东西:
xControllers.controller('entryCtrl', [
'$scope', '$window', '$modal', '$log',
'SharedProperties',
function ($scope, $window, $modal, $log,
SharedProperties) {
$scope.open = function (size) {
$scope.modal = $modal({
templateUrl: './views/modals/possible_slurs.html',
controllerAs: ['$window', '$log', '$modalInstance', function ($window, $log, $modalInstance) {
this.ok = function () {
$modalInstance.close();
};
this.cancel = function () {
$modalInstance.dismiss('cancel');
$window.history.back();
};
}],
scope: $scope
});
};
}]);
由于某种原因 the$modal.open()
不起作用, andtemplate
和controller
参数也不起作用(它只接受templateUrl
and controllerAs
)。
我试图controllerAs
设置为不同的控制器,但是那个单独的控制器无法识别模态实例(它出现为未定义)。
我将依赖项设置为:
var x = angular.module('x-app', [
'xControllers',
'ngAnimate',
'ngRoute',
'ngResource',
'mgcrea.ngStrap',
'angularUtils.directives.dirPagination',
'ui.bootstrap'
]);
以及他们的版本:
"dependencies": {
"socket.io": "^2.2.0",
"angular": "^1.7.8",
"angular-animate": "^1.7.8",
"angular-motion": "^0.4.4",
"angular-resource": "^1.7.8",
"angular-strap": "^2.3.12",
"bootstrap": "^4.3.1",
"jquery": "^3.4.1",
"angular-bootstrap": "^2.5.0"
}
非常感谢,如果需要更多信息来帮助解决这个问题,请告诉我!