繁体   English   中英

如何在角度路线中添加一些逻辑?

[英]How can I add some logic in my angular routes?

我需要锁定“ case”部分中的某些路由,以依赖于$ scope变量(有效或无效形式)

var loginForm = angular.module('loginForm',[
  'ngRoute',
  'stepsControllers'
  ]);

loginForm.config(['$routeProvider',
  function($routeProvider) {



    this.returnUrl = function(tempN) {

      switch(tempN) {
        case 1:
          return 'partials/step1.html';
          break;
        case 2:
          return 'partials/step2.html';
          break;
        case 3:
          return 'partials/step3.html';
          break;
        case 4:
          return 'partials/step4.html';
          break;
      }
    };

    $routeProvider.
      when('/step1', {
        templateUrl: this.returnUrl(1),
        controller: 'step1Ctrl'
      }).
      when('/step2', {
        templateUrl: this.returnUrl(2),
        controller: 'step2Ctrl'
      }).
      when('/step3', {
        templateUrl: this.returnUrl(3),
        controller: 'step3Ctrl'
      }).
      when('/step4', {
        templateUrl: this.returnUrl(4),
        controller: 'step4Ctrl'
      }).
      otherwise({
        redirectTo: '/'
      });

  }
]);

我认为我们需要添加一些服务,然后再将其添加到控制器的配置中。 但是我不了解DI,也不了解如何编写代码来发布它?

我建议$ routeParams来组织您的网址

angular.module('myApp', []).
    config(function ($routeProvider, $routeParams) {
        $routeProvider.when('/step/:stepId', {
            templateUrl: 'resources/template/'+$routeParams.stepId+'.html',
            controller : 'step'+$routeParams.stepId+'Ctrl'
        });
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM