我有这个:
<!-- Fixed navbar -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" ui-sref="main">Project name</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li ui-sref-active="active"><a ui-sref="main.tm">Task manager</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li ui-sref-active="active"><a ui-sref="main.settings">Settings</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron" ui-view>
<div class="main-viewer" ></div>
</div>
</div> <!-- /container -->
状态conf:
$stateProvider.state({
name: 'main',
url: '/',
template: mainTemplate
});
$stateProvider.state({
name: 'main.tm',
url: '/tm',
controller: 'tm.list',
template: view
});
$stateProvider.state({
name: 'main.settings',
url: '/settings',
controller: 'settings.ctrl',
template: view
});
$urlRouterProvider.otherwise('/tm');
要点:
现在我有标题(菜单)和内容块。取决于用户在菜单settings
或tm
模块中按哪个按钮出现在内容块中。 settings
和tm
模块都位于不同的目录中(不同的模块)。
问题:
Menu
html和settings
和tm
块(<div ui-view></div>
)的容器位于一个HTML文件中。我想将menu
分成不同的模块(如settings
和tm
分开的模块)。
我想要的是什么:
主模块就像(查看伪代码):
<container for menu>
<container for content>
菜单将位于目录menu
中,并且会有文件menu.html
和menu.ctrl.js
。它将“注入”容器“菜单容器”。 tm
和settings
已经在正确的目录中,并拥有自己的视图和控制器。
整个代码为here。
PS。其中一项预期成果是:
<menu-component></menu-component>
<div class="container">
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron" ui-view>
<div class="main-viewer">
Welcome page
</div>
</div>
</div> <!-- /container -->
现在菜单逻辑位于分离的控制器中,视图位于单独的html中。