我需要锁定'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的事情,不明白如何编写代码来发布它?
答案 0 :(得分:0)
我建议 $routeParams 来整理您的网址
angular.module('myApp', []).
config(function ($routeProvider, $routeParams) {
$routeProvider.when('/step/:stepId', {
templateUrl: 'resources/template/'+$routeParams.stepId+'.html',
controller : 'step'+$routeParams.stepId+'Ctrl'
});
});