本文介绍了angularJS $ stateParams服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在页面后获取JSON数据/:帖子ID下面的工厂内在我的服务

I try to fetch JSON data on the page post/:postId within the following factory in my service:

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

不幸的是,$ stateParams是不确定的。我究竟做错了什么?如果我硬code中的URL,它的工作原理。

Unfortunately, $stateParams is undefined. What am I doing wrong? If I hardcode the URL, it works.

我的路由

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

和我的控制器

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

我的问题是:如何访问我的工厂内的URL-paramters

My question is: How can i access the URL-paramters within my factory?

推荐答案

只是喜欢你注入$ http服务,还必须注入$ stateParams服务:

Just like you inject the $http service, you must also inject the $stateParams service:

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

这篇关于angularJS $ stateParams服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 07:31