我在我的项目中使用 angular-ui-router 和 angular-bootstrap。
我想实现以下用例:
当用户单击“编辑”按钮时,UI-Router 更改 URL 并打开模式窗口。当我通过单击浏览器的后退按钮返回时,模式窗口正在关闭。
如果用户在打开模态窗口时重新加载页面,应用程序应在主 ui-view 容器中呈现模态窗口内容。
您可以在此父亲上看到此用例: http: //canopy.co/(尝试单击项目并重新加载页面)
问题:如何实现上述行为?
这是我的 jsFiddle http://jsfiddle.net/sloot/ceWqw/3/
var app = angular.module('myApp', ['ui.router', 'ui.bootstrap'])
.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('app', {
url: '/',
controller: 'AppCtrl',
templateUrl: '/views/app.html'
})
.state('item', {
url: '/profile',
controller: 'ItemCtrl',
templateUrl: '/views/item.html'
});
})
.controller('AppCtrl', function($scope, $modal, $state){
$scope.open = function(){
// open modal whithout changing url
$modal.open({
templateUrl: '/views/item.html'
});
// I need to open popup via $state.go or something like this
};
})
.controller('ItemCtrl', function(){});