【发布时间】:2016-02-04 22:59:06
【问题描述】:
小提琴:https://jsfiddle.net/ahmadabdul3/L3eeeh6n/
我正在构建一个应用程序。这个应用程序从一些我可以添加、删除的静态数据开始。我遇到的问题(循环依赖)来自这个初始静态数据。这是场景:
我有 2 项服务(水果、篮子)。每个水果只能属于一个篮子,但每个篮子可以装很多水果。这两个服务(如下)相互依赖:
function fruitService() {}
function basketService() {}
它们相互依赖的原因是因为我拥有的初始静态数据:
function fruitService(basketService) {
var data = [
{
id: 0,
name: 'apple',
basket: function() { return basketService.getById(this.refs.basket); },
refs: {
basket: 0
}
}
];
}
如您所见,我有一个函数basket,它返回一个篮子项目,这样我就可以从水果对象中动态检索篮子对象。
购物篮服务类似:
function basketService(fruitService) {
var data = [
{
id: 0,
name: 'basket1',
fruits: function() { return fruitService.getByIdList(this.refs.fruits); },
refs: {
fruits: [0, ...]
}
}
];
}
与fruitService 相同,我有一个fruits 函数,可以在我请求水果对象时为我提供它们。我尝试了不同的方法组合来尝试分解实际的静态数据和服务来克服这种循环依赖,但它没有发生。
如何在没有这种循环依赖的情况下构建它
【问题讨论】:
标签: angularjs