【发布时间】:2016-03-23 08:26:16
【问题描述】:
我正在做一个 meanjs 项目。我有我的主视图,我会拆分它在几个 ui 视图中
<div ui-view="section1"></div>
<div ui-view="section2"></div>
<div ui-view="section3"></div>
并且每个 ui-view 必须托管他的各自的 CRUD 模块 视图。
例如,如果 "section1" ui-view 关联到 模块 "articles",我希望 "section1" ui-view 包含 " list-articles.client.view.html",但是当我在此列表视图中单击“创建新文章”时,我希望 "create-article.client.view.html" 出现在“section1” ui 视图中。
编辑:我有几个 CRUD 模块(一个用于文章,一个用于快速新闻等......),我希望每个模块在一个独特的页面中都有自己的部分。
我想 angularjs ui-router 可以做到这一点,但我不知道该怎么做。非常感谢您的帮助。
编辑 2:
我尝试了 Tom 下面提出的解决方案,但我确实做错了。
在 /modules/core/client/views/home.client.view.html 中,我有一个像这样的 ng-include:
<div ng-include="'/modules/articles/client/views/list-articles.client.view.html'"></div>
在 /modules/core/client/config/core.client.routes.js 中,我添加了这个:
.state('articles.create', {
url: '/articles/add',
templateUrl: 'modules/articles/client/views/create-article.client.view.html'
});
(控制器在文章模块中,在视图中定义)
在/modules/articles/client/views/list-articles.client.view.html中,创建页面的链接定义如下:
<a Href="#/articles/add">create one</a>
顺便说一下 #/articles/add 在地址栏中显示不好,我有类似 /#%2F/articles/add
但是创建页面没有加载到“ng-include”部分,而是代替了主页(我会把它作为部分视图)。
我做错了什么? 谢谢
【问题讨论】:
标签: angularjs nested angular-ui-router views meanjs