2015-10-01 69 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); 
} 
相关问题