通过 angularjs $routeProvider 传递 2 个变量
Pass 2 variables through angularjs $routeProvider
我正在尝试使用 $routeProvider 传递 2 个变量:
.when('/edition_etude/:idEtude/:domaine', {
templateUrl: 'vues/edition_etude.html',
controller: 'edition_etude'
})
还有我的功能:
$scope.editionEtude= function(etude) {
var idEtude = etude.id_etude;
$location.path('/edition_etude/'+idEtude+'&domaine='+domaine);
}
最后,我应该像这样在目标控制器中获取 2 变量:
monApp.controller("edition_etude", function($scope,$http,$routeParams,serviceDepartements,serviceEnseignes,serviceType_etude,serviceRegions,serviceMaxid,serviceCategorie_magasin) {
var idEtude = $routeParams.idEtude;
var domaine = $routeParams.domaine;
只要我使用 1 个变量,它就可以很好地工作,但是一旦我尝试使用 2 个变量,它就会工作。
这是工作时的代码:
$routeProvider.when('/edition_etude/:idEtude', {
templateUrl: 'vues/edition_etude.html',
controller: 'edition_etude'
});
那么触发事件的控制器:
$scope.editionEtude = function(etude){
var idEtude = etude.id_etude;
$location.path('/edition_etude/'+idEtude);
}
我终于在你的新控制器中正确使用了 idEtude ar :
var idEtude = $routeParams.idEtude;
我不想使用服务!这不是重复的,我检查了所有其他答案!
$location.path('/edition_etude/'+idEtude+'/'+domaine);
您不必指定参数的名称
您的问题来自您的路径调用。
您的路线是:
.when('/edition_etude/:idEtude/:domaine', {
templateUrl: 'vues/edition_etude.html',
controller: 'edition_etude'
})
所以你的 URL 应该是
$location.path('/edition_etude/' + idEtude + '/' + domaine);
而不是
$location.path('/edition_etude/'+idEtude+'&domaine='+domaine);
我正在尝试使用 $routeProvider 传递 2 个变量:
.when('/edition_etude/:idEtude/:domaine', {
templateUrl: 'vues/edition_etude.html',
controller: 'edition_etude'
})
还有我的功能:
$scope.editionEtude= function(etude) {
var idEtude = etude.id_etude;
$location.path('/edition_etude/'+idEtude+'&domaine='+domaine);
}
最后,我应该像这样在目标控制器中获取 2 变量:
monApp.controller("edition_etude", function($scope,$http,$routeParams,serviceDepartements,serviceEnseignes,serviceType_etude,serviceRegions,serviceMaxid,serviceCategorie_magasin) {
var idEtude = $routeParams.idEtude;
var domaine = $routeParams.domaine;
只要我使用 1 个变量,它就可以很好地工作,但是一旦我尝试使用 2 个变量,它就会工作。
这是工作时的代码:
$routeProvider.when('/edition_etude/:idEtude', {
templateUrl: 'vues/edition_etude.html',
controller: 'edition_etude'
});
那么触发事件的控制器:
$scope.editionEtude = function(etude){
var idEtude = etude.id_etude;
$location.path('/edition_etude/'+idEtude);
}
我终于在你的新控制器中正确使用了 idEtude ar :
var idEtude = $routeParams.idEtude;
我不想使用服务!这不是重复的,我检查了所有其他答案!
$location.path('/edition_etude/'+idEtude+'/'+domaine);
您不必指定参数的名称
您的问题来自您的路径调用。
您的路线是:
.when('/edition_etude/:idEtude/:domaine', {
templateUrl: 'vues/edition_etude.html',
controller: 'edition_etude'
})
所以你的 URL 应该是
$location.path('/edition_etude/' + idEtude + '/' + domaine);
而不是
$location.path('/edition_etude/'+idEtude+'&domaine='+domaine);