簡體   English   中英

將Angular UI-Router升級到1.0可以解決內部視圖

[英]Upgrade Angular UI-Router to 1.0 breaks resolve inside views

我正在將應用程序Angular UI-Router升級到1.0。 遷移指南指出

我們不再處理在視圖內聲明的解析塊

很公平。 所有的resolve塊都應該置於父狀態,但是對此有一個限制,我將在后面解釋。

我的項目當前使用命名視圖,並解析這些視圖中的數據。 該數據被傳遞到控制器。 我升級到1.0時遇到的問題是,我的某些州重新使用了相同的視圖和控制器。 視圖之間的區別是我通過視圖resolve塊傳遞給它們的數據。

這是我的應用程序當前工作的過度簡化示例

https://embed.plnkr.co/SFCzutU7N0AGsxpk9c6r/

如您所見,如果將resove塊移到父狀態,我將不再能夠自定義傳遞給每個控制器實例的數據。

有什么替代方法或解決方法來解決這一重大變化?

沒有答案:(也許這個問題尚不清楚。無論如何,這是我想出的解決方案。對此不太滿意,但它可行。

https://embed.plnkr.co/1YxFvHGjowYMvUhXmVsj/

我創建了一個在ui-view元素上使用的指令。

<div ui-view="blue-view" ui-view-param="blueView"></div>

這會將給定值添加到父范圍。

然后,我可以使用該值來獲取正確的配置。

$scope.color = viewParams[$scope.uiViewParam].color;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM