2014-03-12 54 views
2

我只在我的頁面的一部分上使用Angular.dart ...其餘的包含另一個Dart應用程序(編譯成JS ...一切都在來自Dart的JS)以及其他一些HTML等。本質上是我的Angular。 dart應用程序只是頁面內的一個組件。Angular.dart禁用路由?

但是,現在頁面上的所有鏈接似乎都想通過Angular.dart路由。我甚至不需要路由(儘管有一些定義)在技術上。

有沒有辦法完全禁用路由?所以當點擊<a href="/page2">Another page</a>實際上正常工作時,更改地址欄中的URL?現在它只是要#並且我的所有鏈接都被禁用。我甚至沒有使用ng-click或類似的東西。

我該如何讓Angular.dart將這些鏈接單獨留下? 謝謝。

回答

2

由於route_hierarchical-0.4.19您可以簡單地將target="_self"添加到您的<a href="....">以避免角路由器。

+0

輝煌。優雅的解決方案。 – Tom

2

通過將ng-app放在使用Angular.dart的元素上,可以減少頁面中Angular的範圍。因此,這個元素之外的鏈接將起作用。

<a href="direct-link">link</a> 
<div ng-app> 
    <a href="link-catch-by-angular">link</a> 
</div> 

對角部位中的鏈接有可能是處理它們的原生方式,但你可以添加一個指令該處理元素的onClick和執行window.location.assign('link')

+0

是的,這就是我最初的想法,但後來我不得不將它移動到'',因爲它在更新其他東西時遇到了問題(我有一個服務加載了JSON並更新了模式中的表格) 。 – Tom

+0

我可以通過Angular.dart代碼自動處理來自我的Angular.dart應用程序的所有點擊嗎? (所以我不必更新所有的HTML)我真的不認爲我會使用Anuglar.dart routing ... – Tom

+0

我能夠將'ng-app'移動到除' '幸運的是。這雖然解決了我現在的問題,但我不知道是否有更好的解決方案......也許在Angular.dart中捕獲所有內容然後決定像正常一樣將它傳遞到瀏覽器,或者通過Angular阻止正常行爲和路由。 – Tom