AngularJS,如何从返回json的Web服务动态生成路由规则?

时间:2015-12-30 20:14:40

标签: angularjs json ngroute

我想基于返回JSON文件的Web服务动态生成路由规则。 这可能吗? 我正在使用Angular 1.4.7。

1 个答案:

答案 0 :(得分:0)

我找到了一个很酷的方法, 解决方案是编写一个全局变量,然后更新内容。 这是一个例子:

//global variable
var $routeProviderReference;
//global variable

var app=angular.module('MyApp',['ngMaterial', 'ngMessages', 'ngRoute', 'ngSanitize']);
app.config(function($mdThemingProvider, $routeProvider, $locationProvider) {
  
//link global variable to router Provider reference      
 $routeProviderReference = $routeProvider;
//link global variable to router Provider reference 
  
});

app.run(function($templateCache, $rootScope, $http, $route, dataFactory) {
 
  //get routing rules from web service
  $http({ method: 'GET', url: 'webservice-URL' }).then(function (e){
 //set routing rules in global variable
     $routeProviderReference.when('/'+e.data.page, {
                  templateUrl: 'static/tpl/default.html',
                  controller: function($scope) {
                      $scope.data=e.data.feed.entry; 
                  }
                });
  }, function (err){
     console.log(err);
  );
 
 });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.4/angular.min.js"></script>