2015-10-01 90 views
0

我想用下面的代碼來過濾列:如何使用JS變量作爲ng資源參數名稱?

JS:

$scope.filter = {}; 

$scope.filterColumn = function (propName) { 
    $scope.informsystemList = EntityManager.query({entity: "informsystem",propName:$scope.filter[propName]}); 
} 

HTML:

<input type="text" ng-model="filter.name" ng-change="filterColumn('name')">

資源:

portalApp.factory("EntityManager", function ($resource) { 
    return $resource("rest/:treeNodeType/:entity/:id", {treeNodeType:'@treeNodeType',entity: '@entity', id: '@id'}, 
     { 
      update: { 
       method: 'PUT' 
      } 
     }); 
}); 

問題出在propName:$scope.filter[propName] - 參數值正常,但參數名稱不是變量值而是「propName」。如何解決這個問題?

+0

你是什麼意思?代碼應該工作。 – sirrocco

+0

@sirrocco,當我在瀏覽器中打開網絡選項卡時,當我期待'http:// domain/informystem?name = variableValue'時,我看到'http:// domain/informystem?propName = variableValue' – Baurzhan

回答

1

所以,如果你想使用PROPNAME值作爲屬性名稱,你必須做這樣的:

$scope.filterColumn = function (propName) { 
    var data = {entity: "informsystem"}; 
    data[propName] = $scope.filter[propName]; 
    $scope.informsystemList = EntityManager.query(data); 
} 
相關問題