Angularjs $routeProvider-存储时传递给的var在哪里
我是个有棱角的业余爱好者。我使用路由提供程序加载单独的html页面和控制器。当我知道站点有哪些页面并且我可以定义它们时,这就很好了Angularjs $routeProvider-存储时传递给的var在哪里,angularjs,Angularjs,我是个有棱角的业余爱好者。我使用路由提供程序加载单独的html页面和控制器。当我知道站点有哪些页面并且我可以定义它们时,这就很好了 app.config(function($routeProvider) { $routeProvider .when("/page1", { templateUrl: "../page1.html", controller: "Page1Ctrl" }) .whe
app.config(function($routeProvider) {
$routeProvider
.when("/page1", {
templateUrl: "../page1.html",
controller: "Page1Ctrl"
})
.when("/page2", {
templateUrl: "../page2.html",
controller: "Page2Ctrl"
})
.when("/page3", {
templateUrl: "../page3.html",
controller: "Page3Ctrl"
})
.otherwise({
redirectTo: "/page1"
});
});
然而,在将来,可能会添加更多的页面,我想为angular编写一种方法来考虑这一点。有点像
app.config(function($routeProvider) {
(..figure out n...)
$routeProvider
.when("/page"+n, {
templateUrl: "../page"+n+".html",
controller: "Page"+n+"Ctrl"
})
.otherwise({
redirectTo: "/page1"
});
});
我不知道如何返回一个列有当前页面的var
,这样我就可以删除“/page”来操作int作为n
我尝试了控制台日志记录$routeProvider
,但只是返回一个函数。我不认为注入$scope
是明智的,因为很明显,单独使用$routeProvider
会在某处传递一个var。如果在路由中使用冒号(:),Angular将解析它并用它填充$routeParams,然后,在templateUrl中,而不是在字符串中,可以使用返回模板url的函数。只需在templateUrl的函数中插入$routeParams,并构建所需的url
$routeProvider
.when( '/page/:pageNumber', {
templateUrl: function ($routeParams) {
return 'page_' + $routeParams.pageNumber + '.html'
}
})
.otherwise( { redirectTo: '/page/1' } );
我不明白>>>我不知道如何返回一个列有当前页面的var,这样我就可以删除“/page”来操作int as n??使用route as/page/:num这对templateURL有用谢谢,但是如何在选择合适的控制器时也加入pageNumber呢?控制器:“Page”+pageNumber+“Ctrl”抛出未定义的错误使用ngRoute无法做到这一点,您可以在每个模板中使用ngController指令(如果不需要解析/注入任何内容),否则我建议您查看