为了账号安全,请及时绑定邮箱和手机立即绑定

$stateParmas作为参数传入时失败,下载了老师的代码之后想要把请求数据的操作放到service中,却遇到了这样的问题

var myServiceApp = angular.module('myServiceApp',[]);
myServiceApp.factory('bookservice', ['$http', '$stateParams', function($http, $scope, $state, $stateParams){
    var service = {
      test: function(){
        console.log($stateParams);
        console.log("service success!");
      },
      getdata: function(){
        //console.log($stateParams.booktype);
        //return $http.get("./data/book4.json");
        //.success(function(){console.log("getdata success!");});
        return $http({
          method: "GET",
          url: "./data/" + $stateParams.booktype  + ".json"
        });
      }
    };
    return service;
  }
]);

会报错

TypeError: Cannot read property 'booktype' of undefined

这是怎么一回事,谢谢^_^

正在回答

1 回答

你注入的服务和函数的参数  个数和顺序都不一样,要求顺序与个数一样。~你注入的服务比函数参数少,所以$stateParams未定义

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
AngularJS实战
  • 参与学习       205361    人
  • 解答问题       1225    个

一起学习AngularJS的基础教程,通过实例学习并学会AngularJS

进入课程

$stateParmas作为参数传入时失败,下载了老师的代码之后想要把请求数据的操作放到service中,却遇到了这样的问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号