【问题标题】:Ui router browser refreshui路由器浏览器刷新
【发布时间】:2018-10-16 21:17:42
【问题描述】:

我有一个具有以下配置的 Angular 1.x 项目:

HTML 根目录

<base href="/admin/" />
<div ui-view="mainView">

状态提供者配置

config(['$stateProvider', function ($stateProvider) {
   $stateProvider
        .state('cats_state', {
            url: 'cats',
            views: {
                'mainView': {
                    templateUrl: '/app/components/cats/cats.html'
                }
            }
        })
        .state('dogs_state', {
            url: 'dogs',
            views: {
                'mainView': {
                    templateUrl: '/app/components/dogs/dogs.html'
                }
            }
        })

}])

cats_statedogs_state 状态与相对于 /admin/ 路径的 url 相关联,它们在同一区域加载特定的 html 模板。当我单击其中任何一个时,浏览器 url 将更改为 /admin/cats 和/或 /admin/dogs。唯一的问题是:当我手动重新加载/admin/cats url 时如何重新加载相同的状态/模板?如果可能的话,我只想使用 angular ui-router 来实现这一点。

【问题讨论】:

    标签: html angularjs web-applications angular-ui-router


    【解决方案1】:

    当人们正在查看这个问题(但没有回答)时,我找到了解决方案:那就是定义

    <base href="/" />
    

    各种状态的网址如下:

    config(['$stateProvider', function ($stateProvider) {
       $stateProvider
            .state('cats_state', {
                url: '/admin/cats',
                views: {
                    'mainView': {
                        templateUrl: '/app/components/cats/cats.html'
                    }
                }
            })
            .state('dogs_state', {
                url: '/admin/dogs',
                views: {
                    'mainView': {
                        templateUrl: '/app/components/dogs/dogs.html'
                    }
                }
            })
    
    }])
    

    我不太明白为什么会这样,但它是这样工作的。另外,我注意到首先重新加载 / 路径(因此重新加载所有依赖项),然后,ui-router 以某种方式解析当前 url,可能基于状态配置为来自浏览器地址的配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多