【问题标题】:Can I use href with urlRouterProvider?我可以将 href 与 urlRouterProvider 一起使用吗?
【发布时间】:2016-04-12 14:00:20
【问题描述】:

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

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

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

此代码集相应的 href 属性。这是我的 stateProvider sn-p,它适用于手动放置的 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 和使用 href 导航状态吗?

【问题讨论】:

  • 你能分享一些示例代码吗?

标签: javascript angularjs routes


【解决方案1】:

如果您通过 javascript 通过执行 window.location(url) 之类的操作在应用程序外部导航,您应该能够将您的状态路由放在 url 中,并且路由器应该能够处理路由,即 window.location(url)。位置(/state1)。

下面是来自 ui-router 的文本,它阐明了这一点 (link):

这是设置基本网址的方法。

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

现在当用户访问 index.html/contacts 时,'contacts' 状态将变为活动状态,主 ui-view 将填充 'contacts.html' 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2020-08-04
    • 2018-10-23
    • 2011-02-22
    • 2021-03-16
    • 2016-11-20
    • 2019-01-25
    • 2011-06-11
    相关资源
    最近更新 更多