2015-01-26 16 views
10

Ich habe mehrere Ansichten wie hier: http://www.funnyant.com/angularjs-ui-router/Ersetzen ui-Ansicht mit dem geladenen Inhalt

Und ich sie wie diese

<div data-ui-view="content"></div> --- 75% width 
<div data-ui-view="sidebar"></div> --- 25% width 

jetzt in meiner Seite laden, wenn der Inhalt geladen wird, ich will geladener Inhalt wird nicht innerhalb dieser ui-view divs geladen, sondern ersetzt. Ist es möglich ? weil, wenn sie nicht ersetzen, dann in meiner Situation der Schwimmer nicht funktioniert und die Seitenleiste zeigt den Inhalt.

Hilfe bitte

dank

+0

Nicht Ui-Router vor, aber können Sie nicht Klassen zu diesen divs hinzufügen und dann diese mit CSS um Ihr Layout zu erreichen?

LT86

Antwort

0

Das ist nicht möglich und wünschenswert wäre, da sie verlassen würden Sie nicht in der Lage Zustände zu ändern. Eine einfache Problemumgehung wäre das Hinzufügen der Wide-/Float-Stile direkt zu den ui-view-divs.

Wenn Sie entschlossen sind, es zum Laufen zu bringen, könnten Sie einen benutzerdefinierten Anweisungswrapper wie die gelieferte Lösung here erstellen.

+0

Es stimmt, dass Sie Ihre IDs, Klassen usw. direkt zu dem Tag, der das ui-view-Attribut enthält, für Stylingzwecke hinzufügen können. Da sich der Hauptteil der Sicht jedoch in einem anderen Teil befindet, führt dies zu einer Trennung zwischen der Identität der Komponente (der Klasse oder ID, die ihren Namespace in der CSS definiert) und ihrem Inhalt oder den untergeordneten Elementen. Ich persönlich finde das ziemlich nervig. Die Idee der benutzerdefinierten Richtlinie scheint ziemlich hacky zu sein. Wir sind im Begriff, auf 1.6 zu aktualisieren, also können "echte Komponenten" dieses Problem beheben? – suigeneris

2

Mit Bootstrap rows würde dies Ihr Ziel erreichen?

0

Versuchen Sie, die gewünschten Größen dem Stil der Container hinzuzufügen.

<div data-ui-view="content" style="width: 75%;"></div> 
<div data-ui-view="sidebar" style="width: 25%;"></div> 
Verwandte Themen