加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular ui-router:如何在解析子解析之前渲染父视

发布时间:2020-12-17 07:16:56 所属栏目:安全 来源:网络整理
导读:考虑以下ui-router设置: 的index.html div ui-view/div ui-router配置 $stateProvider .state('search',{ abstract: true,url: '/search',views: { '@': { templateUrl: 'main.html' } } }) .state('search.results',{ url: '/results',views: { ... },reso
考虑以下ui-router设置:

的index.html

<div ui-view></div>

ui-router配置

$stateProvider
  .state('search',{
    abstract: true,url: '/search',views: {
      '@': {
        templateUrl: 'main.html'
      }
    }
  })
  .state('search.results',{
    url: '/results',views: {
      ...
    },resolve: {
      data: function() {
        ...
      }
    }
  })

当我导航到search.results时,在解析resolve之前不会呈现main.html.

ui-router中是否有一种方法可以在解析子解析之前呈现父视图?

Another related question

解决方法

正如评论中所提到的,使用resolve的目的是防止在加载数据之前发生状态更改.您显然不希望出现这种行为,因为您希望在加载“数据”之前进入状态并呈现视图的一部分.解决方案是在控制器中加载“数据”而不是使用resolve.如果控制器中存在依赖于“数据”的逻辑,则只需将该逻辑移动到回调中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读