如何将搜索 ID 发送给 `$resource` 提供者?
How to send search id to `$resource` prodiver?
当用户点击某个元素时,我正在更改搜索参数。更新我的搜索参数后,我的 url 位置变成这样:
http://localhost:3000/#/projectSummary/1?id=3
现在如何发送我的 $routeParams
这样的?http://localhost:3000/#/projectSummary/1/3
这是我的尝试:
$scope.conractorInfo = function ( contractor ) {
$location.search('id', contractor.Id); //setting id
console.log($routeParams.id) //getting `1` not 1/3 !?
server.contractor.get({id:$routeParams.id+'/'+contractor.Id}).$promise.then(function (data) {
console.log(data);
});
}
这是我的 server.js
(function () {
"use strict";
angular
.module("tcpApp")
.factory("server", ['$resource', function ($resource) {
var base = 'http://azvsptcsdev02:678/_vti_bin/CPMD.WEBSERVICE/ProjectInfoService.svc/';
console.log(base + 'GetProjectDetails')
return {
splash : $resource( base + 'GetProjectDetails'),
summary : $resource( base + 'GetProjectByID/:id'),
contractor : $resource( base + 'projects/:id/:id')
}
}]);
})();
您需要为 2 个不同的参数配置 $resource。
现在您在 url 中两次使用相同的参数,因此无法将对象键解析为 2 个不同的键
应该更像是:
// factory
contractor : $resource( base + 'projects/:id/:contid')
// controller
server.contractor.get({id:$routeParams.id, contid:contractor.Id})
当用户点击某个元素时,我正在更改搜索参数。更新我的搜索参数后,我的 url 位置变成这样:
http://localhost:3000/#/projectSummary/1?id=3
现在如何发送我的 $routeParams
这样的?http://localhost:3000/#/projectSummary/1/3
这是我的尝试:
$scope.conractorInfo = function ( contractor ) {
$location.search('id', contractor.Id); //setting id
console.log($routeParams.id) //getting `1` not 1/3 !?
server.contractor.get({id:$routeParams.id+'/'+contractor.Id}).$promise.then(function (data) {
console.log(data);
});
}
这是我的 server.js
(function () {
"use strict";
angular
.module("tcpApp")
.factory("server", ['$resource', function ($resource) {
var base = 'http://azvsptcsdev02:678/_vti_bin/CPMD.WEBSERVICE/ProjectInfoService.svc/';
console.log(base + 'GetProjectDetails')
return {
splash : $resource( base + 'GetProjectDetails'),
summary : $resource( base + 'GetProjectByID/:id'),
contractor : $resource( base + 'projects/:id/:id')
}
}]);
})();
您需要为 2 个不同的参数配置 $resource。
现在您在 url 中两次使用相同的参数,因此无法将对象键解析为 2 个不同的键
应该更像是:
// factory
contractor : $resource( base + 'projects/:id/:contid')
// controller
server.contractor.get({id:$routeParams.id, contid:contractor.Id})