AngularJS - UI-Router不加载视图

时间:2016-05-03 17:35:44

标签: javascript angularjs angular-ui-router

我在使用angular-route的应用中,我正在尝试将ui-router集成到特定模块中。在本单元中,我没有包含angular-route

ui-sref网址将全部生成,但当用户尝试导航到视图时,它会重新启动到root。

可以angular-routeui-router混合吗?

angular.module('StyleGuide', ['ui.router'])
  .config(['$stateProvider', '$urlRouterProvider',
    function ($stateProvider, $urlRouterProvider) {

        $urlRouterProvider.otherwise('/StyleGuide/');

        // Configure UI-Router
        $stateProvider
            .state('styleguide', {
                url: '/StyleGuide/',
                templateUrl: 'App/StyleGuide/styleguide.html'
            })
            .state('styleguide.sandbox', {
                url: '/StyleGuide/Sandbox',
                templateUrl: 'App/StyleGuide/sandbox/sandbox.html',
                controller: 'SandboxController'
            });
    }
  ]);

HTML

<div class="sgHeader">
    <div class="navbar navbar-default">
        <nav class="container-fluid">
            <ul class="nav navbar-nav">
                <li class="dropdown open" uib-dropdown >
                    <a role="button" class="dropdown-toggle" uib-dropdown-toggle aria-haspopup="true" aria-expanded="true">
                        <i class="fa fa-bars"></i>
                    </a>
                    <ul class="dropdown-menu" uib-dropdown-menu aria-labelledby="simple-dropdown">
                        <li><a ui-sref="styleguide.sandbox"><i class="fa fa-hourglass-start"></i>Sandbox</a></li>

                    </ul>
                </li>
            </ul>
            <div class="navbar-header">
                <a class="navbar-brand" ui-sref="styleguide"><span class="heavy">Soar </span>Styleguide</a>
            </div>
        </nav>
    </div>
</div>
<div class="sg__body" ui-view>
    <div style="text-align: center;">
        <h1>The Soar Style Guide, this is.</h1>
        <h3>Use it to promote codebase and visual consistency, you will.</h3>
        <img src="https://s-media-cache-ak0.pinimg.com/originals/49/7d/80/497d80f923e70aaa558d17c9cd1ee142.gif" />
    </div>
</div>

2 个答案:

答案 0 :(得分:0)

在子状态 - 'styleguide.sandbox'中将URL从'/ StyleGuide / Sandbox'更改为'/ Sandbox'。由于您已经提到沙箱是styleguide的子项,因此路由器会自动将沙箱的URL视为'/ StyleGuide / Sandbox',您不必特别提及它。

答案 1 :(得分:0)

问题在于另一个模块中的流氓otherwise声明。