2016-06-14 63 views
2

我有一個使用Angular Router的角度應用程序。在子範圍上綁定屬性

我的主視圖是一個選項卡式視圖,其中定義了10個選項卡。對於每個選項卡,角度路由器都有一個命名視圖來將模板注入。除了通過狀態定義配置的標題之外,每個標籤對它的內容一無所知。

state('personView', { 
      route: "people/:personId/", 
      views: { 
        "tab1": { 
          tabConfig: { 
          name: 'tab1', 
          icon: 'info_outline' 
          } 
          template: "person-details.tpl", 
          controller: 'personDetailsController as vm' 
        }, 
        "tab2": { 
          tabConfig: { 
          name: 'tab2', 
          icon: 'info_outline' 
          } 
          template: "children-details.tpl", 
          controller: 'childrenDetailsController as vm' 
        } 
       }}) 

我想要做的是在選項卡標題中包含一個計數器,其中顯示每個選項卡內有多少項目。使用上面的例子,如果有4個孩子,我希望標籤標題顯示數字4作爲徽章。但是孩子們的知識就是那些孩子們的細節控制器和那個人。

那麼如何最好地將數字放到標籤頁頭中,而不必讓我的childrenDetailsController知道它在標籤模板中的使用?理想情況下,我將配置選項卡式視圖以'查看'childDetailsController並提取可用於計數器的特定屬性。但綁定到子範圍並不是我所熟悉的。

回答

1
$state.get() 

的get(Statename的) - 甲用於檢索的配置對象任何狀態下,通過使該名稱作爲一個字符串的方法。

get() - 返回所有狀態配置對象的數組。

$state.current 
+0

我不希望國家的配置對象 - 我想從父範圍上一個子狀態的範圍訪問屬性。子視圖是嵌套的。 – mcampster