Я пытаюсь фильтровать столбцы со следующим кодом:
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". Как исправить эту проблему?
Поэтому, если вы хотите использовать значение propName как имя свойства, вы должны сделать это следующим образом:
$scope.filterColumn = function (propName) {
var data = {entity: "informsystem"};
data[propName] = $scope.filter[propName];
$scope.informsystemList = EntityManager.query(data);
}
http://domain/informsystem?propName=variableValue
а я ожидаюhttp://domain/informsystem?name=variableValue