在工厂中未定义

Getting not defined on factory

我正在尝试将 ionic 与 angular 结合使用,将数据从一个控制器传递到另一个控制器, 我知道用工厂做这件事的最好方法, 但我收到错误消息:

ReferenceError: setData is not defined

我的密码是

app.factory("Places", function() {
    var Places = {};
    Places.setData = function(places) {
      Places.items = places;
    };
     Places.getItem = function($stateParams) {
      return Places.item;
    };

    return{
        setData: setData,
        getItem:getItem
    }
  })

和控制器

   .controller('DetailsCtrl', function ($scope, $stateParams,Places) {
          console.log('PlaceitemCtrl');
        $scope.items=Places.getItem($stateParams);
    });

感谢您的帮助!

您正在 return 从工厂创建新对象,同时没有定义本地 setDatagetItem 函数。相反 return Places 附加了必要方法的对象:

app.factory("Places", function () {
    var Places = {};
    Places.setData = function (places) {
        Places.items = places;
    };
    Places.getItem = function ($stateParams) {
        return Places.item;
    };

    return Places;
});