2016-08-03 22 views
0

Ein bisschen Hintergrund zuerst:

Bis vor kurzem vor allem auf leichte, einzelne Seite Angular Anwendungen arbeiten, aber in den letzten paar Tagen begann die Arbeit an einem neuen Tapestry + Backbone Ich habe Projekt. Und es fühlt sich sperrig.

Das Deaktivieren einer Schaltfläche, egal ob eine Checkbox aktiviert ist oder nicht, führt zu einem labyrinthischen Alptraum von Eigenschaften und Funktionen und Aufrufen, wo es durch ein einfaches ng-if gelöst werden könnte.

Ich weiß, es könnte eine schlechte Angewohnheit sein, und meine Programmierkenntnisse sind bei weitem nicht die besten, aber der Zugang zu einer guten alten ng-if, ng-repeat, ng-Klasse, würde dem Prozess wirklich helfen. Auf der anderen Seite habe ich nicht die Möglichkeit, die gesamte App als Angular App neu zu erstellen.

Gibt es eine Möglichkeit, Angular-Direktiven und $ Scope-Methoden zu einem nicht-eckigen Projekt hinzuzufügen? Kann dies Kompatibilitätsprobleme verursachen?

+2

'ng-app' kann einfach auf ein beliebiges Element gehen. Setzen Sie eckig, wo Sie es brauchen. – FrankerZ

+0

eckig kann als "Silo" ausgeführt werden, wobei jede Seite eine eigene eckige App ist. Dies bedeutet jedoch im Wesentlichen, dass Sie die Routing-/SPA-Aspekte von angular nicht verwenden, und jeder Seitenübergang umfasst das Neuladen all Ihrer Winkelvariablen, die effizient sein können oder auch nicht. – Claies

Antwort

1

Ja, um eckige Anweisungen hinzuzufügen, muss die App bootstrapped und in das System injiziert werden und Winkel funktioniert. Angular wurde entwickelt, um nach Bedarf zu arbeiten. Dies ist jedoch architektonisch nicht zu empfehlen.

ng-app und app.js, um die App zu starten und alles, minus einige der SPA-Funktionen der App, sollte funktionieren.

Hier ist ein Beispiel mit jQuery und Eckig:

http://henriquat.re/directives/advanced-directives-combining-angular-with-existing-components-and-jquery/angularAndJquery.html