.when("/main", {
templateUrl: "main.html",
controller: "MainController"
})
.when("/user/:username",{
templateUrl: "user.html",
controller: "UserController"
})
.otherwise({redirectTo:"/main"});
在User.html中我有一个打开ng对话框的按钮,它有一些来自main.html的数据,但是如果用户直接导航到/ user /:username我无法从main.html渲染数据在我的对话框中。
答案 0 :(得分:0)
根据ngRoute,这些路线之间没有任何关系。当您移动到路径/user/:username
时,将销毁MainController并激活UserController。
如果您想拥有父子关系,即在激活/user/:username
路线时激活MainController,请使用 UI路由器。
UI路由器中的代码如下所示:
function ($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/main',
templateUrl: 'main.html',
controller: 'MainController'
})
.state('home.user', {
url: 'user/:username',
templateUrl: 'user.html',
controller: 'UserController'
});
};