当前位置: 首页 > 知识库问答 >
问题:

如何在AngularJS中设置嵌套视图?

东方文林
2023-03-14

我有一个具有各种屏幕的应用程序。每个屏幕都分配了一个URL,例如#邮件联系人,等等。

在我的主HTML文件中,我有一个ng视图元素,它根据用户选择的路线进行更新。到目前为止,一切顺利。

现在这些屏幕中的一些有子导航。例如,#mails确实有一个收件箱和一个已发送的文件夹。它们有两列:左边是子导航,右边是相应文件夹的邮件。

当您导航到#mails时,它会将您重定向到#mails/inbox,因此基本上收件箱是邮件的默认子视图。

我该怎么设置呢?

我目前能想到的唯一方法(我对AngularJS很陌生,因此如果这个问题有点天真,请原谅我)是有两个视图,一个用于#mails/inbox,另一个用于#mails/发...

选择管线时,将加载这些视图。当您选择#邮件时,它只会将您重定向#邮件/收件箱

但这意味着两个视图都必须为子导航使用ng include。不知怎么的,我觉得这是不对的。

我更喜欢的是嵌套视图:顶部视图在邮件、联系人等屏幕之间切换,底部视图在收件箱、发送等子视图之间切换。

我该如何解决这个问题?

共有2个答案

丁兴德
2023-03-14

要签出的另一个库:http://angular-route-segment.com

您可以使用它代替内置的ng视图$route

示例路由配置如下所示:

$routeSegmentProvider.

when('/section1',          's1.home').
when('/section1/prefs',    's1.prefs').
when('/section1/:id',      's1.itemInfo.overview').
when('/section1/:id/edit', 's1.itemInfo.edit').
when('/section2',          's2').

segment('s1', {
    templateUrl: 'templates/section1.html',
    controller: MainCtrl}).

within().

    segment('home', {
        templateUrl: 'templates/section1/home.html'}).

    segment('itemInfo', {
        templateUrl: 'templates/section1/item.html',
        controller: Section1ItemCtrl,
        dependencies: ['id']}).

    within().

        segment('overview', {
            templateUrl: 'templates/section1/item/overview.html'}).

        segment('edit', {
             templateUrl: 'templates/section1/item/edit.html'}).

        up().

    segment('prefs', {
        templateUrl: 'templates/section1/prefs.html'}).

    up().

segment('s2', {
    templateUrl: 'templates/section2.html',
    controller: MainCtrl});
吕灿
2023-03-14

AngularJS ui路由器解决了我的问题:-)

 类似资料:
  • 我有一个具有各种屏幕的应用程序。每个屏幕都分配了一个URL,例如,,,等等。 在我的主HTML文件中,我有一个元素,它根据用户选择的路线进行更新。到目前为止,一切顺利。 现在这些屏幕中的一些有子导航。例如,确实有一个收件箱和一个已发送的文件夹。它们有两列:左边是子导航,右边是相应文件夹的邮件。 当您导航到时,它会将您重定向到,因此基本上收件箱是邮件的默认子视图。 我该怎么设置呢? 我目前能想到的唯

  • 问题内容: 我有如下配置: 玉器主锉 因此,模块将填充到占位符中。但是问题是,我在模板中还有2个命名视图。模板如下所示: leftSidePaneModule.html 如何使模块和在被填充到上述占位? 我试过了, 尝试次数:2 两者都不起作用。 你怎么做呢? 谢谢! 问题答案: 解决方案可在此处找到:视图名称-相对名称与绝对名称。引用: 在幕后,每个视图都被分配一个遵循的方案的绝对名称,其中指令

  • 我的配置如下所示: 主玉锉 因此,模块被填充到ui-view='leftSidePaneModule占位符中。但问题是,我在模板中有2个命名的视图。 leftSidePaneModule。html 如何制作模块 我试过了, 尝试: 2 两者都不起作用。 你是怎么做到的? 谢谢

  • 我想知道是否有一种方法可以使用useState()更新React中的嵌套对象状态

  • 我想在下面的代码中设置值,我正在使用arraylist如何数据结构,我需要更改int值,它是最后一个值。我在其他类中使用了一个setter来更改这个值,但我尝试用 谢谢..

  • 这是我关于stackoverflow的第一个问题。 我的问题是,在我的Android应用程序中,有一个包含一些项目的列表视图,点击每个项目就会转换为一个新的片段。在项目本身中,有一个内部GridView来显示数组中的一些动态数据。 我担心的是,如果我单击该内部GridView的项,它将不会调用ListView的onItemClick方法,并且不会执行任何操作(因为我已将其设置为禁用)。我想要的是设