6

Statik başlık menüsü sunan bir dizinim var ve bunun altında, rotayı temel alan bir ng görünümü, doğru şablonu seçiyor. Örneğin bu gibi:AngularJS birden çok şablonu bir sayfada

<navbar> 
    ... 
</navbar> 
<div ng-view> 
</div> 

Her şey bir şablon ilgili denetim mekanizması ile bu kapta yüklenen, belirli bir rota çarpıldığında, bugüne kadar iyidir.

Şimdi ng görünümünde yüklü başka bir sayfa var ve url "/ dashboard" vurulduğunda tetikleniyor. Sorun, gösterge tablosu sayfasının, bazı yönlendirme mantığını (daha fazla veya daha az) içermesi gereken bir kenar çubuğu menüsüne sahip olmasıdır. Kenar çubuğu menüsünden bir link tıklandığında, sayfanın sadece sol tarafını yüklemem gerekiyor (tüm ng-view konteyneri değil).

1) o kenar çubuğu menü depolayan bir direktif oluşturun ve kenar çubuğu menüsünde tarafından işlenir sayfaların tümünde enjekte ==> yönlendirme hala Ng- tarafından işlenir: Ben iki çözüm belirledik

görünüm.

2) Kullanım ng-dahildir ve böyle tablosu sayfasında bazı yönlendirme mantığı vardır:

<a ng-click="templateType = 1">Template 1</a> 
<a ng-click="templateType = 2">Template 1</a> 

<div ng-if="templateType === 1" ng-include="template1" 
    ng-controller="Template1Controller"></div> 
<div ng-if="templateType === 2" ng-include="template2" 
    ng-controller="Template2Controller"></div> 

başka yaklaşım var mı? Ya da, bazı rotaları işleyen bir kenar çubuğunu ve başka bir yolu yöneten statik bir menüyü ele almanın en iyi yolu nedir, kenar çubuğu menüsünün yalnızca bazı rotalarda kullanılabilir.

Sorunumu daha iyi açıklayabileceğimi umarak, bir boya çizimi yaptım.

enter image description here

+1

Neden açısal-ui-yönlendirici kullanmayan cevabı bulabilirim? – nikhil

+3

Ayrıca, [açısal-rota-segmenti] (http://angular-route-segment.com/) adresini de kontrol edebilirsiniz. –

+0

@nikhil Belki başka bir dış bağımlılık eklemeden dahili bir çözüm olduğunu düşündüm –

cevap

7

Sen UI-Router kullanmak ve iç içe görünümler bir atış verebilir. İşte bir really good tutorial. Ben dersin sonunda elde etmeye çalıştığını düşünüyorum.

+0

Benim için işe yaramıyor çünkü yönlendirme uygulamalarını kullanmak için mevcut uygulamayı değiştiren çok fazla çalışma gerektiriyor. –

+1

UI-Router, ngRouter'den farklı değildir. Bu, rotalara karşı durumları ele alır, routeParams stateParams olur ve kullanıcı arabirimi, orijinal ng-view yönergesinin yerini alır. Daha sonra, ui-sref (gerçekten kullanışlı) veya sadece href ile rotalarınıza referans yapabilirsiniz. Ama senin bakış açısını anlıyorum. Hangi alt öğenin görüntüleneceğini belirlemek için ngRoute parametrelerini kullanabilirsiniz, ancak biraz daha karmaşık olabilir. :) – Freezystem

+1

UI-Router gerçekten güzel görünüyor, ama benim app ~ 150 farklı yollar çok sayıda modül üzerinde yayılmış ve UI-Router uygulamasını eşleştirmek için her birini değiştirmeyi gerektirir. Bu noktada bir kenar çubuğu için bir yönerge yapmayı tercih ediyorum ve ona ihtiyacım olan her yere enjekte ediyorum. –

İlgili konular