我正在构建一个带有角度UI路由器的静态
HTML网站,用于导航.我基本上有一个带有多个(10)html模板(页面)的ui-view加载到该视图中.我的所有模板页面都在一个名为“pages”的目录中.
所以我基本上想知道我们是否只能在$stateProvider中定义一个状态来动态分配多个模板URL,而不是为每个HTML模板页面编写不同的状态(如下所述).
$stateProvider .state('home',{ url: '/home',templateUrl: 'pages/home.html',controller: 'homeController',controllerAs: 'home' }) .state('viz',{ url: '/viz',templateUrl: 'pages/viz.html',controller: 'vizController',controllerAs: 'viz' }) .state('about',{ url: '/about',templateUrl: 'pages/about.html',controller: 'aboutController',controllerAs: 'about' })....
任何帮助深表感谢.
这不应该那么困难,例如检查一下:
Angular UI-Router dynamic routing based on slug from API Ajax Call. Load view based on slug
我们可以使用$stateParams和templateProvider来
.state('general',{ url: '/{type}',//templateUrl: 'pages/home.html',templateProvider: ['$stateParams','$templateRequest',function($stateParams,$templateRequest) { var tplName = "pages/" + $stateParams.type + ".html"; return $templateRequest(tplName); } ],// general controller instead of home //controller: 'homeController',controller: 'generalController',controllerAs: 'ctrl'
我们还可以将参数类型限制为预期值之一,请参阅:
url: '/{type:(?:home|viz|about)}',
Angular js – route-ui add default parmeter
还有非常相似的Q& A有工作的plunker和更多细节:
AngularJS ui-router – two identical route groups
> Trying to Dynamically set a templateUrl in controller based on constant
> Angular UI-router and using dynamic templates
原文地址:https://www.jb51.cc/angularjs/142499.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。