數據庫表格:Angular - 如何通過路由器將信息傳遞給控制器?
--------------------------------------------------------------------
| ID | PARENT ID | TITLE | URL |
--------------------------------------------------------------------
| 1 | 0 | Programming | programming |
--------------------------------------------------------------------
| 2 | 1 | Logic | programming/logic |
--------------------------------------------------------------------
| 3 | 1 | Object-Oriented | programming/oop |
--------------------------------------------------------------------
| 4 | 2 | PROLOG | programming/logic/prolog |
--------------------------------------------------------------------
| 5 | 2 | LISP | programming/logic/lisp |
--------------------------------------------------------------------
| 6 | 3 | JAVA | programming/oop/java |
--------------------------------------------------------------------
| 7 | 3 | C# | programming/oop/csharp |
--------------------------------------------------------------------
頁面設置:
<html>
<body>
<nav ng-controller="navController">
<ul ng-repeat="menuItem in menuItems">
<li><a href="#/{{menuItem.URL}}">{{menuItem.Title}}</a></li>
</ul>
</nav>
<div ng-view>
</div>
</body>
</html>
說明:
我的導航菜單是從數據庫查詢派生的,其中的鑽取導航一次只顯示一個級別。
第一個級別只顯示一個菜單項:
<ul>
<li>
<a href="#/programming">Programming</a>
</li>
<ul>
如果我點擊 「程序」 鏈接,導航現在將顯示該菜單項的孩子:
<ul>
<li>
<a href="#/programming/logic">Logic</a>
</li>
<li>
<a href="#/programming/object-oriented">Object-Oriented</a>
</li>
</ul>
假設:
(1)假設每個這些菜單項有相應的部分。例如,「面向對象」菜單項在「/partials/objectoriented.html」中有相應的部分。 (2)假設我有一個GetMenuItemsByUrl(url)函數,它會根據它的url返回一個菜單項的所有子項。例如,如果我通過URL「編程/邏輯」,該函數將返回第2行的所有子節點,第4行和第5行。此函數可以通過/ api/GetMenuItemsByUrl /訪問:url
預期行爲:
假設用戶進入下面的網址: mywebsite.com/#/programing
(1)將NAV應該呈現這樣:
- 登錄IC
- 面向對象
(2)視圖應加載模板:/templates/programming.html
問:
我知道如何呈現該視圖基於通過路由器的路線。我的問題是,我怎麼也傳遞當前網址到navController並告訴它重新綁定?
創建一個跟蹤當前菜單的服務?它會在navController中自動更新,因爲服務是單例。 – Dieterg