我是 AngularJS 的新手,正在尝试看看这是否可行。我在网上看了很多 $http.get
问题,但找不到这个问题的答案。
我有一个 api 调用,它具有三种不同的参数键可能性。
$http.get(url, {params : {$scope.searchBy : $scope.value}})
$scope.searchBy
被标记为语法错误。它有 3 个来自下拉列表的可能值。
我试过 var search = $scope.searchBy;
但是当我使用 {params : {search : $scope.value}}
时,值为“search”并且不是 $scope.searchBy。
有没有关于如何在没有 if 语句和单独的 api 调用的情况下完成此操作的建议?
谢谢。
最佳答案
您必须执行类似的操作,因为这是有效的 javascript 语法。
var paramValues = {};
paramValues[$scope.searchBy] = $scope.value;
return $http.get(url, {params: paramValues});
当您使用问题中的语法定义对象时,属性/字段名称必须是已知常量。如果它是变量,在这种情况下您需要,那么您可以先创建对象,然后使用 obj[propertyName] = someValue;
表示法设置值。
关于javascript - AngularJS $http.get 将变量作为参数键传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337537/