Javascript UI引导日期选择器弹出窗口不能与Modal和Controllera一起使用
我在这里看到过类似的问题,答案似乎是管理是否打开日期选择器的变量应该在父范围内。我以为我在这里做了,但它仍然不起作用。我的代码与我见过的所有其他代码之间的区别在于,我使用的是controller as,而其他人使用的是$scope。这应该如何与控制器一起工作 这是主页Javascript UI引导日期选择器弹出窗口不能与Modal和Controllera一起使用,javascript,angularjs,angular-ui-bootstrap,bootstrap-modal,bootstrap-datepicker,Javascript,Angularjs,Angular Ui Bootstrap,Bootstrap Modal,Bootstrap Datepicker,我在这里看到过类似的问题,答案似乎是管理是否打开日期选择器的变量应该在父范围内。我以为我在这里做了,但它仍然不起作用。我的代码与我见过的所有其他代码之间的区别在于,我使用的是controller as,而其他人使用的是$scope。这应该如何与控制器一起工作 这是主页 <!DOCTYPE html> <html ng-app="plunker"> <head> <meta charset="utf-8" /> <tit
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />'); </script>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="style.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular.min.js" data-semver="1.4.6"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.13.1/ui-bootstrap-tpls.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl as main">
<button class="btn btn-primary" ng-click="main.openModal()">Open Modal</button>
</body>
</html>
您忘记了输入元素上的
datepicker popup
属性:
<input type="date" datepicker-popup
class="form-control"
ng-model="main.dt"
is-open="main.opened"
close-text="Close" />
e、 g
或者,如果你愿意的话,把它放进一个方法中
正是我所需要的!(y)
var app = angular.module('plunker', ['ui.bootstrap']);
app.controller('MainCtrl', function($modal) {
var main = this;
main.openModal = function() {
var modalInstance = $modal.open({
templateUrl: 'modal.html',
controller: 'ModalInstanceCtrl as modal',
size: 'sm'
});
};
});
app.controller('ModalInstanceCtrl', function($modalInstance) {
var modal = this;
modal.title = 'Modal Title';
});
<input type="date" datepicker-popup
class="form-control"
ng-model="main.dt"
is-open="main.opened"
close-text="Close" />
$event.preventDefault(); $event.stopPropagation();
ng-click="$event.preventDefault(); $event.stopPropagation(); main.opened = true"