我可以在urlRouterProvider中使用href吗?

时间:2016-04-12 14:00:21

标签: javascript angularjs routes

在我的angularjs应用程序中,我用ui.router(urlRouterProvider)模块和stateProvider替换了ngRoute(routeProvider),以便在我的应用程序中的状态之间导航。

现在我发现ui-router只适用于状态而<a ui-sref="">代替<a href="">。由于我必须使用javascript在我的应用程序之外设置应用程序导航,我无法将锚点从href更改为sref。以下是我设置导航链接的方法。

    Portal.setNavigation(
        [
            {
                "label": "Application1",
                "selected": true,
                "url": "/web/guest#/Application1"
            }
        ]
    );

此代码集相应地为href属性。这是我的stateProvider代码段,适用于手动放置的 srefs ,如下所示:<a ui-sref="Application1">Application State 1</a>

app.config(['$stateProvider', '$urlRouterProvider',
  function($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('Application1', {
            url: '/Application1',
            templateUrl: '/Application.html',
            controller: 'AppCtrl'
        });
}]);

任何想法如何继续使用ui-router并使用hrefs导航状态?

1 个答案:

答案 0 :(得分:1)

如果你通过像window.location(url)之类的东西通过javascript导航到你的应用程序之外,你应该能够将你的状态路由放在url中,路由器应该能够处理路由即窗口。位置(/ STATE1)。

以下是来自ui路由器的文字(link):

  

以下是设置基本网址的方法。

$stateProvider
    .state('contacts', {
        url: "/contacts",
        templateUrl: 'contacts.html'
    })
     

现在,当用户访问index.html / contacts时,“联系人”   状态将变为活动状态,主要的ui视图将填充   'contacts.html'部分。