我想制作路线来访问用户如下所示的用户个人资料和页面。
这应该通过向后端API发送请求来识别路由过程。 如何使用AngularJS v1.4.8获得此功能?
现状。 (仅适用于用户名)
.when('/:username', {
templateUrl: 'app/views/profile.html',
controller: 'UserProfileController',
})
我想做什么
.when('/:username', {
templateUrl: select dynamically,
controller: select dynamically,
})
我为配置文件和页面实体定义了单独的控制器和视图。 HTML5模式也已启用
$locationProvider.html5Mode(true);
答案 0 :(得分:1)
为什么复杂的事情会变得简单?
只需制作一个路径来处理这两种情况,根据结果提出请求,并使用ng-if在模板中呈现不同的组件指令。
我认为不需要动态路由解决方案的复杂解决方案。
但是,如果你真的,真的希望这样做,可以使用ui-router。 只需使用onEnter事件并在获得响应后重定向到不同的路由。或者在控制器内部这样做。
只需进行ajax调用,然后使用$ state service执行以下操作:
$state.go('userprofile', params, {notify: false});