Как использовать переменную JS в качестве имени параметра ngresource?

0

Я пытаюсь фильтровать столбцы со следующим кодом:

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
    Что вы имеете в виду ? код должен работать.
  • 0
    @sirrocco, когда я открываю вкладку сети в браузере, я вижу http://domain/informsystem?propName=variableValue а я ожидаю http://domain/informsystem?name=variableValue
Теги:
ngresource

1 ответ

1
Лучший ответ

Поэтому, если вы хотите использовать значение propName как имя свойства, вы должны сделать это следующим образом:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню