如何在角度ui-router中禁用静态URL?

时间:2014-07-18 09:48:59

标签: angularjs angular-ui-router

我的角应用程序中有两个ui-router states,工作正常,如下所示:

app.config(["$stateProvider",
    function($stateProvider){
        $stateProvider
            .state("settings", {
                url: "/settings",
                views: {
                    "secondMenu": {
                        templateUrl: "second_menu.html?parent=settings",
                        controller: "settingsController"
                    },
                    "thirdMenu": {
                        template: empty_template
                    }
                }
            })
            .state("cabinet", {
            url: "/cabinet",
            views: {
                "secondMenu": {
                    templateUrl: "second_menu.html?parent=cabinet",
                    controller: "cabinetController"
                },
                "thirdMenu": {
                    template: empty_template
                }
            }
        })

但是我的菜单中只有一部分我需要使用角度。菜单的其他部分必须转到我网站的静态(非角度)网址,如下所示:

<ul>
    <li><a href="/static-url/">static-url</a></li>
    <li><a ui-sref="cabinet">cabinet angular url</a></li>
    <li><a ui-sref="settings">settings angular</a></li>
</ul>

当我点击angular-urls时 - 我需要ng-view中的信息,但如果之后我点击static-url - 我的网址从/#/cabinet更改(例如, )到/static-url/,但查询到服务器不存在。页面内容保存,如在cabinet angular url中。

如何禁用在/static-url/上工作的角度ui-router?

1 个答案:

答案 0 :(得分:1)

所以对于未来的潜伏者来说,这就是你需要做的事情。只需将此属性添加到静态页面的锚标记:

target="_self"

像这样:

<ul>
    <li><a href="/static-url/" target="_self">static-url</a></li>
    <li><a ui-sref="cabinet">cabinet angular url</a></li>
    <li><a ui-sref="settings">settings angular</a></li>
</ul>