0

Ich versuche, angular2 in meiner Anwendung zu verwenden. Das Problem ist, dass ich alle Komponenten Code für eckig in einer großen Datei verkette, die ich in der index.html Seite importieren werde (so wird es auf allen Seiten vorhanden sein).Der Selektor "my-app-test" hat keine Elemente gefunden.

Aber ich bekomme immer The selector "my-app-test" did not match any elements weil offensichtlich in der index.html gibt es keine <my-app-text/> Tag. In Winkel 1 konnte ich eine Direktive deklarieren und dann wurde diese Direktive nur instanziiert, wenn sie auf der aktuellen Seite war.

Wie kann ich das gleiche in angular2 archivieren, so dass eckig nicht versucht hat, den richtigen Selektor zu finden, sondern im Gegenteil die Komponente nur dann instanziiert, wenn sie in der Seite gefunden wurde?

Dank

Für jetzt habe ich den folgenden Code haben:

(function() { 
    var AppComponent = 
     ng.core.Component({ 
      selector: 'my-app-test', 
      template: '<h1>My First Angular 2 App</h1>' 
     }) 
      .Class({ 
       constructor: function() {} 
      }); 

    document.addEventListener('DOMContentLoaded', function() { 
     ng.platformBrowserDynamic.bootstrap(AppComponent); 
    }); 
}()); 

Antwort

0

In solchen Fällen in der Regel falsch beendet Datei ist ein Problem. Stellen Sie sicher, dass Sie alle Kommentare entfernen (wenn Sie die Datei auf eine Zeile komprimieren) und keine Syntaxfehler in Ihren JS-Dateien vorhanden sind. Eine übliche Praxis besteht darin, einige Semikolons zwischen Dateien hinzuzufügen, die kombiniert werden, nur für den Fall, dass einige von ihnen Fehler aufweisen.

Ich würde jedoch damit beginnen, JSLint auf Ihren Quellen laufen zu lassen, damit diese möglichen Fehler zuerst erkannt und entfernt werden.

Verwandte Themen