gpt4 book ai didi

javascript - 服务中的 angularJS $stateParams

转载 作者:行者123 更新时间:2023-12-02 17:45:36 26 4
gpt4 key购买 nike

我尝试在我的服务中的以下工厂内获取页面 post/:postId 上的 JSON 数据:

angular.module('sampleapp.services', [])
.factory('DetailService', function($http) {
return {
getDetail: function(callback) {
$http.get('https://example.com/posts/' + $stateParams.postId + '.json').success(callback);
}
};
});

不幸的是,$stateParams 未定义。我究竟做错了什么?如果我对 URL 进行硬编码,它就可以工作。

我的路由:

.state('detail', {
url: '/post/:postId',
templateUrl: 'templates/detail.html',
controller: 'DetailCtrl'
})

和我的 Controller :

.controller('DetailCtrl', function ($scope, DetailService) {
DetailService.getDetail(function(data) {
$scope.post = data;
});
});

我的问题是:我如何访问工厂内的 URL 参数?

最佳答案

就像注入(inject) $http 服务一样,您也必须注入(inject) $stateParams 服务:

.factory('DetailService', function($http, $stateParams) {

关于javascript - 服务中的 angularJS $stateParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21799161/

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