angularjs – Angular UI路由器 – 动态TemplateURL

我正在构建一个带有角度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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...