AngularJS,嵌套UI视图

时间:2015-05-09 14:42:41

标签: javascript angularjs uiview

有人可以对int n提示吗? 我有一个主printf("sw $v0,0(%d)",&x),然后有两个嵌套视图,但由于某种原因,这两个没有被加载。

ui-view

主页面正在加载但其他两个视图没有加载 在我的main.html中我有:

ui-view

我只是得到一个空文件。

2 个答案:

答案 0 :(得分:0)

在html中传递给ui-view的值不是状态的名称,它应该是视图的名称。

feed.html和status.html中的html是否应该替换或与main.html一起显示?这两种方案都会改变解决方案,但假设您始终需要main.html,并希望显示其选择了各自嵌套视图的feed.html和status.html,您可以执行以下操作:

.state('index', {
  url: '/',
  views: {
    'main': {
      templateUrl: './app/modules/main.html'
    }
  }
})
.state('index', {
  views: {
    'main': {
      templateUrl: './app/modules/main.html',
    },
    'detail': {
      templateUrl: './app/modules/feed.html'
    }
  }
})
.state('index.status', {
  views: {
    'main': {
      templateUrl: './app/modules/main.html',
    },
    'detail': {
      templateUrl: './app/modules/status.html'
    }
  }
});

在你的html中,你需要两个div标签来映射视图。

<div ui-view="main"></div>
<div ui-view="detail"></div>

现在main.html应该始终显示在第一个div中,当它们的状态处于活动状态时,feed.html或status.html将显示在第二个div中。

以下是ui-view directive的文档,此处是关于ui-view的good blog post

答案 1 :(得分:0)

经过几次尝试,这可以加载嵌套的:

$stateProvider
    .state('index', {
        url: '',
        views: {
            'main': {
                templateUrl: './app/modules/main.html'
            },
            'status@index': {
            templateUrl: './app/modules/status.html'
            },
            'feed@index':{
            templateUrl: './app/modules/feed.html'
            }
        }
})

index.html有:

<main ui-view="main"></main>

在main.html里面我有:

<div class="voucher-display" ui-view="feed"></div>
<aside ui-view='status'></aside>

但现在我遇到了另一个问题,如果我想从index.html加载另一个ui-view,我该怎么办?因为这不起作用:

.state('clients',{
        url:'/clients',
            templateUrl:  './app/modules/clients.html'
        });