2016-03-21 14 views
1

Wie soll ich fortfahren, wenn ich App in einer Ansicht einfüge?Angular JS App in Ansicht

Ich habe ein Vorlagedokument das hat eine App bereits, um Seiteninhalt zu steuern. Ich möchte andere Apps in die Ansicht einfügen. Meine erste App wird im HTML-Tag aufgerufen und kontrolliert verschiedene Bereiche der Seite mit Ausnahme der Ansicht.

Ansichten sind ein weiteres HTML-Dokument, das in einen Abschnitt geladen wird. Kann diese andere HTML-Datei eine andere App enthalten?

Ich habe versucht mit Include, aber die App funktioniert nicht.

Exemple Code:

<!DOCTYPE html> 
    <html ng-app="mid" lang="fr"> 

<nav ng-controller="navCtrl"></nav> 
<main><ng-view><ng-view></main> 
<footer ng-controller="navCtrl"></footer> 

Meine Ansicht würde enthalten:

<div ng-app="my-second-app" ></div> 
<div ng-controller="second-app-Ctrl"></div> 

würde das funktionieren?

+0

Mögliche Duplikate von [Kann ich eine ng-App in einer anderen in AngularJS verwenden] (http://stackoverflow.com/questions/22548610/cani-i-use-one-ng-app-inside-another-one) -in-angularjs) –

Antwort

2

Wenn Sie Ihre 'Meine Ansicht' zu Ihrem Beispielcode hinzufügen, verschachteln Sie AngularJS-Anwendungen. Sie können keine andere App als Ansicht hinzufügen. AngularJS-Anwendungen können nicht ineinander verschachtelt werden. nehmen schauen here und here

1

Es ist möglich, wenn Sie die manuelle Winkel Bootstrap-Funktion zu verwenden, aber ich finde es schwer zu glauben, dass das ist, was Sie wollen. Sie müssen kein anderes ngapp in der injizierten Ansicht angeben, um ihn wissen zu lassen, dass er sich innerhalb des eckigen Kontextes befindet. Er weiß bereits, dass alles unter der ursprünglichen ng-app, die Sie angegeben haben, automatisch im eckigen Kontext ist. Die Verwendung einer anderen eckigen App innerhalb einer eckigen App sollte die Dinge nur kompliziert und wahrscheinlich unnötig machen, besonders wenn Sie neu in eckig sind. In jedem Fall halten Sie es einfach, versuchen Sie es mit dem Entwicklerhandbuch in http://angular.org, sie sollten Ihnen ein Gefühl geben, wie Sie beginnen.