如何根据路线动态地包含几个AngularJS部分中的一个?

时间:2013-03-21 21:22:50

标签: javascript angularjs

我正在制作一个音乐应用,其中包含my-app.com/[0-9]{10}形式的网址,如下所示:

my-app.com/0123456789
my-app.com/1293938388

这些中的每一个都是歌曲,播放列表或用户页面,我可以查询后端以找出哪一个。但是,由于这些URL在不查询数据库的情况下无法区分,因此我无法正常$routeProvider.when('route-prefix/:routeArgument')为每个URL实例化不同的部分。

我希望能够指定一个默认处理程序,它显示一个微调器并查询数据库,然后根据响应的类型包含一些部分和一个控制器之一。< / p>

以棱角分明的方式做到这一点的正确方法是什么?我应该使用ng-include吗?我希望如果非活动控制器根本不执行,这就是使用部分多个ng-controller指令的明显解决方案似乎不正确的原因。

谢谢!

1 个答案:

答案 0 :(得分:1)

正如评论中所讨论的,ng-switch可以根据路由有条件地添加或删除DOM中的内容。 (这与ng-show / ng-hide形成对比,后者目前只修改CSS属性以显示或隐藏始终在DOM中的内容。)