我知道这已经覆盖了很多次,最条款提及这段代码:Modal window with custom URL in AngularJS使用UI路由器与引导的UI模式
但是我就是不明白这一点。我根本没有发现这一点非常清楚。我也发现这jsfiddle这实际上是伟大的,非常有帮助,除了这不添加网址,并允许我使用后退按钮关闭模式。
编辑:这是我需要帮助。
因此,让我尝试解释我想达到的目标。我有一个表单来添加一个新项目,我有一个链接'添加新项目'。我希望当我点击“添加新项目”时,会弹出一个模式,其中包含我创建的“add-item.html”表单。这是一个新的状态,因此url更改为/ add-item。 我可以填写表格,然后选择保存或关闭。关闭,关闭模态:p(奇怪)。但是我也可以点击返回以关闭模式,并返回到前一页(状态)。 在这一点上,我不需要帮助关闭,因为我仍然在努力实现模态工作。
这是我的代码,因为它代表:
导航控制器:(这是甚至把模态函数的正确位置?)
angular.module('cbuiRouterApp')
.controller('NavbarCtrl', function ($scope, $location, Auth, $modal) {
$scope.menu = [{
'title': 'Home',
'link': '/'
}];
$scope.open = function(){
// open modal whithout changing url
$modal.open({
templateUrl: 'components/new-item/new-item.html'
});
// I need to open popup via $state.go or something like this
$scope.close = function(result){
$modal.close(result);
};
};
$scope.isCollapsed = true;
$scope.isLoggedIn = Auth.isLoggedIn;
$scope.isAdmin = Auth.isAdmin;
$scope.getCurrentUser = Auth.getCurrentUser;
$scope.logout = function() {
Auth.logout();
$location.path('/login');
};
$scope.isActive = function(route) {
return route === $location.path();
};
});
这是怎么了我正在激活模式:
<li ng-show='isLoggedIn()' ng-class='{active: isActive("/new-item")}'>
<a href='javascript: void 0;' ng-click='open()'>New Item</a>
</li>
新item.html:
<div class="modal-header">
<h3 class="modal-title">I'm a modal!</h3>
</div>
<div class="modal-body">
<ul>
<li ng-repeat="item in items"><a ng-click="selected.item = item">{{ item }}</a></li>
</ul>Selected:<b>{{ selected.item }}</b>
</div>
<div class="modal-footer">
<button ng-click="ok()" class="btn btn-primary">OK</button>
<button ng-click="close()" class="btn btn-primary">OK</button>
</div>
而且同时这确实打开一个模式不会关闭它,因为我不能工作了这一点。
您能够关闭你的情态点击关闭时窗口?我觉得不是。对? – micronyks
不,我无法完成它。我只能打开它,即使这样,它不仅不会关闭,但它不会与状态和网址更改,所以像活动链接这样的东西将无法正常工作。 – Daimz
我用最近的尝试来解决这个问题,但是它不起作用。 http://plnkr.co/edit/k514Nc25zfr0amtnxXDu?p=preview – Daimz