【问题标题】:How use JS variable as ngresource parameter name?如何使用 JS 变量作为 ngresource 参数名称?
【发布时间】:2015-10-01 11:42:22
【问题描述】:

我正在尝试使用以下代码过滤列:

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”。如何解决这个问题?

【问题讨论】:

  • 什么意思?代码应该可以工作。
  • @sirrocco,当我在浏览器中打开网络选项卡时,我看到了http://domain/informsystem?propName=variableValue,而我期待http://domain/informsystem?name=variableValue

标签: javascript angularjs ngresource


【解决方案1】:

因此,如果您想使用 propName 值作为属性名称,您必须这样做:

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

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多