2017-08-02 51 views
0

我工作的事,我想内容在angularjs页面重定向,但我面对以下错误:UI-SREF不工作状态angularjs

angular.js:12477 Error: Could not resolve 'dashboard.home' from state 'dashboard' 

我的代码:

.state(
     'dashboard.home', 
     { 
      url: '/home', 
      views: { 
       "[email protected]": { 
        templateUrl: '/home' 
        // controller: 'HomeController', 
       } 
      } 
     } 
    ) 

.state(
     'dashboard', 
     { 
      url: '', 
      parent: "main", 
      views: { 
       "[email protected]": { 
        templateUrl: "/sidebar/view" 
       } 
      } 
     }) 

sidebar.html.twig

<li> 
     <a ui-sref="dashboard.home">Home <span class="sr-only">(current)</span></a> 
</li> 

状态 'dashboard.home' 存在,为什么会出现错误?

+0

重定向内容? – anu

+0

是@slacker .. – IleNea

+0

您需要为我们提供包含所有内容的模板,很难猜测这里缺少的内容。 – Walfrat

回答

0

我认为你可能trynig使用视图来分割页眉/页脚/侧栏从内容是唯一要改变的国家。

我没有的究竟是你的问题的答案,但我可能有一个答案,一个更广泛的问题,你可能正在试图解决:

如何混合的意见的头/内容/页脚并嵌套声明内容导航?

解决方法:使用意见仅适用于头/内容/页脚,使用“@”使用默认视图(没有名字)来插入直接子,并使用盛大的孩子,你通常会做无意见

// root state 
.state('home', { 
    url:'/home', 
    views:{ 
     'header':{ 
      templateUrl: 'template/header.html', 
      controller:'HeaderCtrl' 

     },'sidepanel':{ 
      templateUrl: 'template/sidepanel.html', 
      controller:'SidePanelCtrl', 
     },'footer':{ 
      templateUrl: 'template/footer.html' 
     } 
    }, 
    'abstract':false 
    }) 
    //direct child 
    .state('home.main', { 
     url:'/main', 
     // need that for every direct child of home 
     views:{ 
      '@':{templateUrl: 'template/main.html', 
       controller: 'MainCtrl' 
      } 
     }   
    }) 
    //grandchild 
    .state('home.main.child1', { 
     url:'/child1', 
     templateUrl: 'template/child1.html', 
     controller: 'Child1Ctrl' 
     // NO view anymore for grand child!! 
     }   
    }) 

及有关HTML

<section id="header"> 
    <!--- not container --> 
    <div data-ui-view="header"></div> 
</section> 
<section id="content"> 
    <div class="row clearfix"> 
     <div id="mySidebar> 
      <div data-ui-view="sidepanel"></div> 
     </div> 
     <div id="myContent"> 
      <div data-ui-view></div> 
     </div> 
    </div> 
</section> 
<section id="footer"> 
    <div data-ui-view="footer"></div> 
</section> 
0

的templateUrl预计要渲染HTML模板的相对路径。

.state(
    'dashboard.home', 
    { 
     url: '/home', 
     views: { 
      "[email protected]": { 
       templateUrl: 'home.html' 
      } 
     } 
    }).state(
    'dashboard', 
    { 
     url: '', 
     parent: "main", 
     views: { 
      "[email protected]": { 
       templateUrl: "sidebar/view.html" 
      } 
     } 
    })