【发布时间】:2016-06-28 07:07:43
【问题描述】:
我有一个表格,其中包含用于更新记录的编辑按钮。当我将单个 id 传递给 ng-href 时,它的工作正常并打开表单页面:
例如:在我的index.html 表中
<a class="btn btn-warning" ng-href="#/provider/{{row._id}}">Edit</a>
但我想将另一个参数与row._id 一起传递给 ng-href,例如:
<a class="btn btn-warning" ng-href="#/provider/{{row._id}}/collectionName/{{collectionName}}">Edit</a>
它不工作并重定向到主页。
这是我的控制器:
$timeout(function () {
if ($routeParams.id !== undefined) {
$http.get('/providerlist/'+$routeParams.id, {
params:{
id:$routeParams.id,
collectionName:$routeParams.collectionName
}
}).success(function (response) {
alert(response);
$scope.providerList = response;
$scope.id = response['_id'];
});
}
});
app.js 用于路由:
var ProviderApp = angular.module('ProviderApp', ['ngRoute'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/home', {
templateUrl: 'templates/home/index.html',
controller: 'HomeController',
controllerAs: 'home'
})
.when('/provider', {
templateUrl: 'templates/provider/index.html',
controller: 'ProviderController',
controllerAs: 'provider'
})
.when('/provider/:id', {
templateUrl: 'templates/provider/form.html',
controller: 'ProviderController',
controllerAs: 'provider'
})
.otherwise({
redirectTo: '/home'
});
}]);
我真正想做的是在点击edit 按钮后,它应该重定向到form.html,参数/数据为id 和collectionName
任何帮助将不胜感激。
【问题讨论】:
-
您需要将 '/provider/:id'... 更改为 ...'/provider/:id/collection/:collectionName' ,然后在控制器中使用这些参数。 . 使用 $routeParams....
-
@damitj07:我试过
.when('/provider/:id/collection/:collectionName', { templateUrl: 'templates/provider/form.html', controller: 'ProviderController', controllerAs: 'provider' }),但它不起作用 -
我认为那是因为你有两个 roues /provider/... 同名...
-
@damitj07:是的.. 但两者都不一样。第二个是带参数第一个不是
-
是但我认为当您将多个路由映射到同一个控制器功能时..参数处理可能存在问题..您可以尝试修改其中一个并检查它是否有效...
标签: javascript angularjs mean-stack