Angularjs ui sref在嵌套视图中不工作

Angularjs ui sref在嵌套视图中不工作,angularjs,twitter-bootstrap-3,angular-ui-router,Angularjs,Twitter Bootstrap 3,Angular Ui Router,我做的家庭作业-复习了这个网站上几乎8-9个与ui sref相关的问题(如何操作、复杂的示例等)、相关的plunks、Scotch.io等。我似乎不明白为什么我的代码不起作用。我花了6-7个小时调试这个应用程序,但似乎找不到问题所在 我的页面分为 a) layout.html-这将强制引导网格系统 b) 应用程序导航栏-顶部导航栏(代码为现在引导示例的剪切粘贴…) c) 应用程序手风琴-使用ui引导手风琴显示n个项目 d) 应用程序右侧-右侧包含一些UI元素和UI网格 所有元素的ui视图都正确呈

我做的家庭作业-复习了这个网站上几乎8-9个与ui sref相关的问题(如何操作、复杂的示例等)、相关的plunks、Scotch.io等。我似乎不明白为什么我的代码不起作用。我花了6-7个小时调试这个应用程序,但似乎找不到问题所在

我的页面分为 a) layout.html-这将强制引导网格系统 b) 应用程序导航栏-顶部导航栏(代码为现在引导示例的剪切粘贴…) c) 应用程序手风琴-使用ui引导手风琴显示n个项目 d) 应用程序右侧-右侧包含一些UI元素和UI网格

所有元素的ui视图都正确呈现。。。i、 例如,正在我的控制器中调用“索引”状态。我在app-navbar.html中添加了几个简单的按钮只是为了调试

<ul class="nav nav-pills">
    <li role="presentation" class="active"><a ui-sref="view1">View1</a></li>
    <li role="presentation"><a ui-sref="view2">View2</a></li>
</ul>
<div ui-view="view-test"></div>
当我将鼠标悬停在按钮上时,我看到…/view1和2显示在浏览器的页脚上,但当我单击它们时,什么也没有发生。目前,手风琴仍然使用href,但如果我使用ui-sref,它将停止工作。一旦我过了这关,那就是下一个问题。。。如何将ui sref用于accordion等控件

对可能发生的事情有什么想法吗?砰的一声:有。我做了两个改变

首先,我升级了您的(修复了一些问题,只需始终使用最新版本)

其次,我在州定义中添加了缺失的部分:谁是我的父母

检查一下

根据下面的评论,扩展了,很少引用文献中的cites

状态可以相互嵌套。嵌套状态有几种方式:

  • 使用“点符号”。例如
    .state('contacts.list',{})
  • 使用
    ui router.stateheloper
    从嵌套状态树构建状态。由@marklagendijk提供
  • 使用父项名称为字符串的父项属性。例如:
    家长:“联系人”
  • 对父对象使用父属性。例如父:联系人(其中“联系人”是stateObject)

或者,可以通过parent属性指定状态的父级


拉迪姆-非常感谢。是否有关于父属性的任何文档?我在这里或本网站的大多数示例中都没有看到这一点。我的代码结构有什么不同吗?另外,我注意到,随着这个变化,手风琴停止工作。我用文档引用和链接扩展了答案。有帮助吗?我几乎无法判断手风琴,它与UI路由器无关,也不会说它在没有我的修复的情况下工作……Radim-文档帮助!我将分别调试手风琴。
        .state('view1', {
            url: '/view1',
            views: {
                'view-test': {
                    templateUrl: 'view1.html',
                    controller: 'View1Ctrl'
                }
            }
        })
.state('view1', {
    url: '/view1',
    parent: 'index',        // here is explicit setting who is parent
    views: {
        'view-test': {
            templateUrl: 'view1.html',
            controller: 'View1Ctrl'
        }
    }
})
$stateProvider
  .state('contacts', {})
  .state('list', {
    parent: 'contacts'
  });