angularjs ui路由器不在嵌套视图中加载JavaScript方法

angularjs ui路由器不在嵌套视图中加载JavaScript方法,javascript,jquery,angularjs,angular-ui-router,Javascript,Jquery,Angularjs,Angular Ui Router,我在尝试使用ui路由器在嵌套视图中加载JavaScript方法时遇到问题。我有以下代码: $stateProvider .state('/', { url: '/', controller: 'MainCtrl', views: { '': { templateUrl:'partials/home.html'}, 'navbar@': { templateUrl: 'includes/navbar.

我在尝试使用ui路由器在嵌套视图中加载JavaScript方法时遇到问题。我有以下代码:

$stateProvider
  .state('/', {
    url: '/',
    controller: 'MainCtrl',
    views: {
        '': { templateUrl:'partials/home.html'}, 

        'navbar@': { 
                templateUrl: 'includes/navbar.html'
            },
        'sidebar@': { 
                templateUrl: 'includes/sidebar.html'
            }
    } 
})
在index.php中

<div ui-view="navbar"></div>
<div ui-view="sidebar"></div>
如果我将侧栏和导航栏代码直接放在index.php中,JavaScript方法就可以工作。但是,如果代码在嵌套视图中,则它不起作用


ps:我正在使用此模板

您从MainCtrl调用它?调试它:在metisMenu调用时添加一个断点,然后看到您的侧边栏不在那里。
$(function() { 
    $('#side-menu').metisMenu();
});