未在工厂定义

时间:2015-04-15 07:50:57

标签: javascript angularjs ionic factory-pattern

我正在尝试使用ionic with angular将数据从一个控制器传递到另一个控制器, 我知道用工厂做的最好方法, 但是我收到了错误:

  

ReferenceError:未定义setData

我的代码是

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);
    });

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

您正在从工厂返回新对象,同时未定义本地setDatagetItem函数。而是返回附加了必要方法的Places对象:

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

    return Places;
});