2015-07-23 1 views
0

Когда пользователь лижет элемент, я меняю параметры поиска. после обновления моего поиска Params, мой 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

Вам нужно настроить $ ресурса для 2-й различного Params.

Прямо сейчас вы используете один и тот же параметров дважды в URL, так что нет никакого способа разбора ключей объекта в 2 различных них

Это должно быть больше как:

// factory 
contractor : $resource(base + 'projects/:id/:contid') 

// controller 
server.contractor.get({id:$routeParams.id, contid:contractor.Id}) 
+0

Он работает. я не могу установить 'contid' из' $ routeParams' - достаточно всего лишь идентификатора объекта? – 3gwebtrain

+0

не уверен, что это значит, но пока у вас есть работа. – charlietfl

Смежные вопросы