小提琴: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
功能,可以給我水果的對象,當我問他們。我嘗試過不同的方法組合,試圖分解實際的靜態數據和服務來克服這種循環依賴,但是它沒有發生。
哪能建築師這個不具有這種循環依賴
謝謝我會試試 –
我不喜歡這個答案。是的,它解決了角度誤差。但是循環依賴仍然存在。 –
有時需要循環依賴關係。由於我們都不知道問題的全部範圍,我們都不能評論解決方案的適當性。 –