gpt4 book ai didi

javascript - 将参数传递给服务工厂

转载 作者:行者123 更新时间:2023-11-28 12:24:35 26 4
gpt4 key购买 nike

我有这个 HTML:

  <div class='container-fluid' ng-controller="TypeaheadCtrl">
<p></p>
<b>Selected User</b>
Enter a name: <input type="text" ng-model="selected" typeahead="user as (user.first + ' ' + user.last) for user in users | filter:$viewValue" />
</div>

此 Controller :

app.controller('TypeaheadCtrl', ['$scope', 'getUser',function($scope, getUser) { 

$scope.selected = "";
getUser.success(function(data) {
$scope.users = data;
});

}]);

以及此服务:

app.factory('getUser', ['$http', function($http) { 

return $http.get('https://myUrl?param=Foo')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}]);

如何将参数传递给服务以使 URL 中的 param 值动态化?

最佳答案

最简单的方法和最小的改变是改变你的工厂,让它返回一个函数

app.factory('getUser', ['$http', function($http) { 

var httpReq = function(param){
return $http.get('https://myUrl?' + param + '=Foo')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}

return httpReq;
}]);

现在您可以将值传递到工厂

app.controller('TypeaheadCtrl', ['$scope', 'getUser',function($scope, getUser) { 

$scope.selected = "";
getUser('paramValue').success(function(data) {
$scope.users = data;
});

}]);

关于javascript - 将参数传递给服务工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31003345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com