Angular JS多级路由
Angular JS multi level routing
我有一个结构如下的应用程序
Index.html
其中包含所有路由的 app.js
,并且在 index.html
中添加了 ng-view
我有另一个模板,在通过此 ng-view 连续登录时,它是 home.html
我可以在 home.html
里面放一个 ng-view
吗?当我点击主页 link 内的任何菜单时加载到那个 ng-view
?
我正在下面添加我的路由详细信息
.config(['$routeProvider', 函数($routeProvider) {
$routeProvider
.when('/login', {
controller: 'LoginController',
templateUrl: 'modules/authentication/views/login.html'
})
.when('/home', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html'
})
.otherwise({ redirectTo: '/login' });
}])
我可以添加新路由并在 home.html
中加载模板和控制器来代替 index.html
吗?
如果我理解正确的话,你想要一个 ng-view 里面的 ng-view。我认为你不能那样做。但解决方案是使用参数 reloadOnSearch,您可以将其设置为 false,这样每次您重新加载页面并更改其路由时,它都不会重新加载先前加载的 html 结构。
.when('/home', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html',
reloadOnSearch: false
})
但要使其以这种方式工作,您必须在每个页面中输入固定的 html 结构。一种方法是将包含添加到您的主页并通过范围变量设置视图页面。
<!--home.html-->
<!--define your structure here-->
<!--includes that will load the desired pages-->
<div>
<div ng-include="'./indexGeneral.html'" ng-if="Page == 'general'"></div>
<div ng-include="'./indexContacts.html'" ng-if="Page == 'contacts'"></div>
<div ng-include="'./indexVehicles.html'" ng-if="Page == 'vehicles'"></div>
</div>
我有一个结构如下的应用程序
Index.html
其中包含所有路由的 app.js
,并且在 index.html
ng-view
我有另一个模板,在通过此 ng-view 连续登录时,它是 home.html
我可以在 home.html
里面放一个 ng-view
吗?当我点击主页 link 内的任何菜单时加载到那个 ng-view
?
我正在下面添加我的路由详细信息
.config(['$routeProvider', 函数($routeProvider) {
$routeProvider
.when('/login', {
controller: 'LoginController',
templateUrl: 'modules/authentication/views/login.html'
})
.when('/home', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html'
})
.otherwise({ redirectTo: '/login' });
}])
我可以添加新路由并在 home.html
中加载模板和控制器来代替 index.html
吗?
如果我理解正确的话,你想要一个 ng-view 里面的 ng-view。我认为你不能那样做。但解决方案是使用参数 reloadOnSearch,您可以将其设置为 false,这样每次您重新加载页面并更改其路由时,它都不会重新加载先前加载的 html 结构。
.when('/home', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html',
reloadOnSearch: false
})
但要使其以这种方式工作,您必须在每个页面中输入固定的 html 结构。一种方法是将包含添加到您的主页并通过范围变量设置视图页面。
<!--home.html-->
<!--define your structure here-->
<!--includes that will load the desired pages-->
<div>
<div ng-include="'./indexGeneral.html'" ng-if="Page == 'general'"></div>
<div ng-include="'./indexContacts.html'" ng-if="Page == 'contacts'"></div>
<div ng-include="'./indexVehicles.html'" ng-if="Page == 'vehicles'"></div>
</div>