我已经几个“主模块”,可以说角-UI-路由器 - 改变3级嵌套视图不知道有关2级嵌套视图
- 用户
- 社区
我也有 “embedable模块”,可以说
- 照片
- 韦迪OS
- 维基
我embedable模块可以嵌入到主模块。 所有模块没有交叉依赖关系。例如,用户不知道他拥有照片,视频和wiki,但知道他拥有可嵌入其页面的可嵌入模块列表。而且照片,视频和wiki也不知道它们将被嵌入到哪里。我有3层视图: - 基本视图层(顶部导航栏,徽标等) - 关心父视图(不知道哪一个被注入) - 父对象视图图层(可以是用户,社区或页面,例如持有用户照片和名称) - 关心他的可嵌入式视图(不知道他们是否被注入) - 可嵌入视图图层 - 关注他的视图中的内容
现在让我们说我在用户页面上。用户路线是#/user
。现在我想通过链接访问用户的照片,例如<a href="#/user/photos/">user photos</a>
,但我不能这样做,因为在照片模块中路由名称是#/photos
,所以#/user/photos/
不起作用。
如果我只访问<a href="#/photos">user photos</a>
,它将删除父视图(父对象视图图层,例如将从屏幕上删除用户照片和名称)。
任何想法如何访问照片模块和坚持父视图,并不创建硬编码的依赖关系的方式?
我需要的是这样的:
$stateProvider
.state(':parent/photos', {
url: ':parent/photos',
templateUrl: 'modules/photos/index.html',
controller: 'PhotosCtrl'
})
,并用它从用户页面像 <a href="#/user/photos">user photos</a>
或使用它从社区页面像 <a href="#/community/photos">community photos</a>
然后照片模块可以使用:父 param来确定它的父亲
或至少我需要链接功能先进而精湛,如:
$stateProvider.state('user.photos', /*&*/'photos')
对全球链接模块。
你能列出你在stateProvider中的所有状态吗?是否有'用户'状态和'社区'状态? – TheSharpieOne
@TheSharpieOne,检查此:https://gist.github.com/PLEEROCK/0d60243a6a0837cbb26f – pleerock