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相同