2014-09-14 3 views
1

angularjs에서 $ resource로 매개 변수를 전달합니다.컨트롤러에서 anglejs의 리소스 팩토리로 매개 변수를 전달하면 작동하지 않습니다.

입력 매개 변수를 백엔드에서 REST 서비스를 호출하는 $ 리소스에 전달하려는 UI를 검색 할 때 UI에 검색 버튼이 있습니다.

.query에서 문자열 값을 전달하면 완벽하게 작동하지만 @issueinput은 입력 값으로 해석되지 않습니다.

는 app.js

var myApp = angular.module('myApp',['ui.router', 'ngResource']); 

myApp.factory('SearchService',function($resource){ 
    return $resource("http://localhost:8081/support/api/search/:issuename"); 
}); 

는이이 UI의 HTML에게 있습니다

angular 
    .module('myApp') 
    .controller('searchCtrl',['$scope', '$window','SearchService', function($scope, $window, SearchService){ 

    $scope.data={}; 

    $scope.search = function(issueinput){  
    SearchService.query({issuename:'@issueinput'},function(response){ 
      $scope.data.issues = response; 
     }); 
    }; 
    } 
    ]); 

컨트롤러입니다 나는 다음과 같이 변경하여 작동하도록있어

<html> 
<div id="searchpage"> 
    <label>Search</label> :<input data-ng-model="issueinput"></input> {{issueinput}} 
    <br/> 
    <br/> 
    <br/> 
    <button data-ng-click="search(issueinput)">Search</button> 
    <br/> 
    <br/> 
<ul> 
    <li data-ng-repeat="s in data.issues">{{s.issueName}} : {{s.issueDescription}}</li> 
</ul> 


</div> 
</html> 

답변

3

co app.js

myApp.factory('SearchService',['$resource',function($resource){ 
    return $resource("http://localhost:8081/support/api/issue/:issuename",{}, 
     { 
     get:{ 
      method: 'GET', 
      isArray:true}} 
    ); 
}]); 
+0

큰 도움에 ntroller

$scope.search = function(){ SearchService.get({issuename: $scope.issueinput},function(response){ $scope.data.issues = response; }); 

$ 자원은, 내 머리를 잡아 당겨에 대해이었고,이 게시물을 발견했다. 이 라인의 매개 변수를 추가하는 것이 무엇인지 SearchService.get ({issuename : $ scope.issueinput}, function (response) { – gregdevs

+0

도움이 되니 기뻤습니다. – user2180794

관련 문제