AngularJS:从模板字符串数组构造ui-states

时间:2016-08-31 04:42:34

标签: angularjs angular-ui-router

我有静态模板文件(大约50个),我想从这些模板数组构建ui-states

var templates = ['index.html','about.html','contact.html','careers.html']

我的状态就是这样:

$stateProvider
.state('index',{url:'/index.html',templateUrl:'templates/index.html'}) 
.state('about',{url:'/about.html',templateUrl:'templates/about.html'})
.state('contact',{url:'/contact.html',templateUrl:'templates/contact.html'})  

我可以这样做吗?

templates.forEach(function(template){
 $stateProvider.state(template,{url:'/'+template,templateUrl:'templates/'+template}) 
})

2 个答案:

答案 0 :(得分:1)

只需每次通过模板并为每个模板创建一个状态

var templates = [
      'index.html',
      'about.html',
      'contact.html'
    ];

    templates.forEach(function(tmp){
      $stateProvider
        .state(tmp,{
          url:'/'+tmp,
          templateUrl:tmp
        })
    })

答案 1 :(得分:0)

我想是这样的,

angular.forEach(templates, function (temp) {
   $stateProvider.state(temp,{
        url:'/' + temp,
        templateUrl:'templates/'+ temp}) 
});

但在此之后,您需要使用.config

进行配置
angular.module('app', [])
     .config({
      // you can add $stateprovider here
     })