AngularJS ui-bootstrap打开模态窗口而不更改URL

时间:2014-06-18 08:36:03

标签: javascript angularjs modal-dialog angular-ui angular-ui-router

我在AngularJS项目中使用ui-bootstrap模块。在我打开模态之前,url看起来像这样:localhost:58890 /#/ Project / 46。打开它的代码在这里:

$modal.open(modalServices.newItemModal).result.then(function (name) {
                    var folder = new Item({
                        id: null,
                        projectId: ProjectService.project.ID,
                        name: name,
                        type: ItemType["Folder"],
                        contents : null
                    });

modalServices.newItemModal设置在这里:

var newItemModal = {
    templateUrl: '/template/modal/newItem',
    controller: 'NewItemController',
    backdrop: 'static',
    size : 'sm'
};

代码行$ modal.open之后,url更改为:localhost:58890 / 是否有可能阻止这种情况,并使模态行为像jQuery模式一样,它不会改变网址?

1 个答案:

答案 0 :(得分:3)

如果您从锚标记调用模态打开函数,请不要!

在视图和点击事件中定义一个按钮,触发打开的模态函数,如下所示:

    <button ng-click="openmodal()">OPEN MODAL</button>

    app.controller('YourCtrl',function($scope,$modal){

    $scope.openmodal=function(){
        $modal.open(modalServices.newItemModal).result.then(function (name) {
                var folder = new Item({
                    id: null,
                    projectId: ProjectService.project.ID,
                    name: name,
                    type: ItemType["Folder"],
                    contents : null
                });

        }
       });