小编uuu*_*unk的帖子

尝试在侧边栏中突出显示父级时"无法转换为抽象状态"

我正在使用角度UI-Router和bootstrap折叠面板为样式指南构建侧边栏.我的侧边栏是"工作"但我得到了

Error: Cannot transition to abstract state 'parent'

单击子状态时.在我真正的解决方案中,有许多父母有子组,父母确实是抽象的(即他们不代表物理页面或状态).我知道我不能直接链接到父状态,我不相信我,我只需要ui-sref在父面板中设置它们,这样我就可以通过设置ui-sref-active属性让父母保持打开状态.

我在plunker上运行了一个示例:http://plnkr.co/edit/bnvGcaOvzW4que8g3vh7?p = preview

代码供参考:

angular.module('app', ['ui.router'])
        .config(function($stateProvider, $urlRouterProvider){
            $urlRouterProvider.otherwise("/");
            $stateProvider
                .state('home', {
                    url: "/",
                    templateUrl: "layout.html"
                })
                .state('parent', {
                    abstract: true,
                    url: '/parent',
                    templateUrl: "layout.html"
                })
                .state('parent.child', {
                    url: "/child",
                    templateUrl: "child.html"
                })
        });
Run Code Online (Sandbox Code Playgroud)

的layout.html

<div class="container-fluid">
    <div class="row">
        <div class="col-xs-3">
          <a ui-sref="home">Home</a>
           <div class="panel-group" id="sidebar">
              <div class="panel panel-default">
                <div class="panel-heading">
                  <h4 class="panel-title">
                      <a data-toggle="collapse"  data-parent="#sidebar" data-target="#parent"
                   class="collapsed">Parent</a>
                  </h4>
                </div>
              <div id="parent" ui-sref="parent" …
Run Code Online (Sandbox Code Playgroud)

javascript twitter-bootstrap angularjs twitter-bootstrap-3 angular-ui-router

4
推荐指数
1
解决办法
1万
查看次数