Javascript 角度服务有什么问题

Javascript 角度服务有什么问题,javascript,angularjs,Javascript,Angularjs,我有一个显示项目列表的视图。要获取这些项目,我使用具有以下公共接口的服务 return { items: _items, getItems: _getItems, getItemById: _getItemById, item: _item }; 服务局部变量包括: var _items = []; v

我有一个显示项目列表的视图。要获取这些项目,我使用具有以下公共接口的服务

     return {                
                items: _items,
                getItems: _getItems,
                getItemById: _getItemById,
                item: _item
            };
服务局部变量包括:

var _items = [];
var _item;
当我调用getItems()时,将填充items数组。 但是,当有人从列表中选择一项时。我使用getItemById(id)获取和初始化item变量。(找到该项并显示为初始化
\u项

但是当我尝试从控制器访问项目时,出现了一些错误原因,它显示为未定义。
itemsService.item

            var _getItemById = function (id) {
                _item = null;

                $.each(_items, function (i, item) {
                    if (item.id == id) {
                        _item = item;
                        console.log(_item); //this works
                        return false;
                    }
                });

            }
我想跟踪所选项目,因为我有“ItemsList”、“ItemDetail”、“ItemExtra”等页面。这就是我决定在我的服务中跟踪项目的原因。也许有更好的做法?

来自评论


将您的服务更改为return{items:return\u items,getItems:…}

将您的服务更改为
return{items:return\u items,getItems:…}
似乎可以工作:)但是我不明白,因为数组中的项是可以直接访问的。
getItemById(id)
做什么?输入错误。。它与getGirlById相同