【问题标题】:Is it possible to reload only a view inside a state in AngularJS?是否可以仅在 AngularJS 的状态内重新加载视图?
【发布时间】:2017-08-09 14:47:35
【问题描述】:

我的问题是我在 AngularJS 状态中有两个不同的视图,如下所示:

$stateProvider.state('root.base.persons', {
    url : 'persons/:id',
    views : {
        'level-1@root' : {
            templateUrl : 'html/person-level-1.html',
            controller : 'PersonLevel1Controller',
            controllerAs : 'personLevel1Ctrl'
        },
        'level-1-tabs@root' : {
            templateUrl : 'html/person-tabs.html',
            controller : 'PersonTabsController',
            controllerAs : 'personTabsCtrl'
        }
    },

假设上面代码的第一个视图是网页中的标题,在它下面我加载了不同的视图。我很难发现如何在单击放置在标题中的刷新按钮时刷新标题的内容,而不会在此父状态下的“子”视图/状态中触发相同的重新加载。我试过$state.reload$state.go$state.transitionTo,但我似乎找不到答案。

基本上,是否可以在 Angular 中重新加载状态内的视图?

感谢您的时间和答案。 问候

【问题讨论】:

    标签: javascript angularjs angular-ui-router reload


    【解决方案1】:

    用途:

    var options = { reload: true };
    $state.go(to, params, options);
    

    $state.go 选项

    重新加载 (v0.2.5) - {boolean=false|string|object},如果 true 将强制转换,即使状态或参数未更改。它将重新加载当前状态和父状态的解析和视图。如果reload 是字符串(或状态对象),则获取状态对象(按名称,或对象引用);并且 \ 转换会重新加载该匹配状态及其所有子状态的解析和视图。

    — UI-Router API Reference - $state.go options

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多