2015-11-11 25 views
0

我想到的佈局涉及兩個部分,每個部分佔用一半的頁面。AngularJS - 具有GET請求的多個控制器,如何處理URL?

左半部分最初會有一個表單來過濾查詢,並且返回的JSON將用於在Google Map上創建標記,然後填充左半部分。

右半部分最初會有指示用戶的文字。點擊左側的標記後,右側的一半將被另一個JSON中與該標記相關的細節替換。

我對使用Angular很不熟悉,所以我可能會有一些誤解。我遇到了這個問題:左側需要URL中的查詢,右側需要URL中的標記ID。我不清楚如何實現這種佈局,所以我不知道URL結構會是什麼樣子。

www.website.com/mapview/ID/query似乎不符合邏輯;這將是最後的手段,我不知道它可能會有什麼影響。我也考慮過發佈過濾器選項,但這不會允許用戶爲其搜索添加書籤,並且表單重新提交警告對於用戶而言是非常意外的。

如果可以構建,那麼最乾淨的解決方案是什麼?

回答

1

也許你需要兩條不同的路線。

使用Ui.Router

請記住,每個孩子的路線可以繼承的觀點,解析,從它的父(S)參數,可以ECC。

angular 
 
    .module('test', ['ui.router']) 
 
    .config(function($stateProvider) { 
 
    
 
    var index = { 
 
     name: 'mapview', 
 
     url: '/mapview/:query/', 
 
     abstract: true, 
 
     views: { 
 
     "left": {}, 
 
     "right": {} 
 
     } 
 
    }; 
 
    
 
    var one = { 
 
     name: 'mapview.marker', 
 
     url: ':markerId/', 
 
     views: { 
 
     "[email protected]": {}, 
 
     "[email protected]": {} 
 
     } 
 
    }; 
 
    var two = { 
 
     name: 'mapview.nomarker', 
 
     url: '', 
 
     views: { 
 
     "[email protected]": {}, 
 
     "[email protected]": {} 
 
     }}; 
 

 
    
 
    $stateProvider.state(index).state(one).state(two); 
 
    })

+0

感謝。我一直在閱讀更多關於這個,看起來這個佈局並不像我想象的那麼困難。你對Angular新型路由器瞭解多少,以及它與ui-router相比如何? – dtgq

+0

這應該是「另一個話題」,順便說一下,在我看來,新的Angular Router帶來了很多來自Ui.Router和AngularJS路由的經驗。但是選擇的方法完全不同:)... ________________ https://medium.com/angularjs-meetup-south-london/angular-just-another-introduction-to-ngnewrouter-vs-ui-router-72bfcb228017 – Hitmands

+0

我明白了,所以它還沒有真正發佈。這很令人困惑,因爲有人在討論Angular 1.4中使用New Router的情況,但同時有消息稱它會在1.5版本發佈,顯然還沒有發佈。 另一件事,爲什麼我們寫變量的狀態?這是爲了可重用性還是個人偏好?謝謝。 – dtgq