1
我有一個應用程序結構如下:允許頂層級範圍訪問的用戶界面視圖子作用域
application
* header
* ui-view specific menu item
* ui-view specific menu item
* ui-view specific menu item
* sidebar
* link with ui-sref
* link with ui-sref
* content
* ui-view
如何才能標題菜單項訪問ui-view
的範圍是什麼?
例如,當Contacts
視圖處於活動狀態的header
包含兩個鏈接,New Contact
和Export Contacts
:
<div ng-app="app">
<div class="header">
<a ng-click="onNewContactClicked()">New Contact</a>
<a ng-click="onExportContactsClicked()">Export Contacts</a>
</div>
<div class="sidebar">
<a ui-sref="Calendar()">
<a ui-sref="Contacts()" class="active">
</div>
<div ui-view></div>
</div>
的Contacts
視圖具有控制器ContactsCtrl
。因此,爲了重述我的問題,菜單項New Contact
如何訪問並調用ContactsCtrl
中定義的函數onNewContactClicked
?
有時ui-view
可以嵌套。例如,Contacts
視圖可以有一個Edit Contact
視圖。該嵌套視圖也應該可以通過標題訪問。
謝謝,這正是我想要的!我認爲廣播傳播下來,從小孩到父母,但這沒有任何意義,因爲子範圍繼承自父範圍。另一個小問題:是否可以在「ContactsCtrl」中禁用菜單項?像這樣的'Export Contacts'? –
$ broadcast轉到子範圍,$ emit轉到父範圍。調整按鈕的最簡單方法是在根級別設置一個容器,例如$ rootScope.permissions = {}然後您可以在頭控制器中執行permissions.exportButton.disabled並在聯繫人中設置$ scope.permissions.exportButton.disabled控制器(它會從根繼承) –
好主意,謝謝。 –