Frage

Ich verwende ein Beispielprojekt von hier.

Angenommen, ich muss eine Funktion aus meinem Modul exportieren, um den Clients meines Dienstes eine JavaScript -API zur Verfügung zu stellen.

Aber die Erklärungen in meinen .js -Dateien sind außerhalb des Außenbedarfs nicht sichtbar!

Ich füge den folgenden Block zu JQuery-Require-Sample/Webapp/App.html hinzu:

<script type="text/javascript">
   $(document).ready(function() {
      $('body').alpha().beta();
   });
</script>

Es schlägt fehl: Uncortn TypeError: Objekt [Objekt Objekt] hat keine Methode 'Alpha'.

Ist es möglich, das zu tun, was ich will?

War es hilfreich?

Lösung

Basierend auf dem Code, den Sie angegeben haben, gehe ich davon aus, dass Sie Ihren Code nach dem vorhandenen Skript -Tag in app.html hinzugefügt haben. Ich denke, was Sie sehen, ist ein Timing -Problem. Wenn Sie die Seite geladen haben, werfen Sie einen Blick auf die <head> Tag und Sie sollten Skript -Tags in der folgenden Reihenfolge sehen:

  1. Das Skript "Erforderliche"
  2. Ihr neues Skript
  3. Alpha
  4. Beta

Es wird also Ihr Skript ausgeführt, bevor das Alpha und die Beta ausgeführt werden. Der Grund dafür ist, dass das Erfordernis das erste Skript verarbeitet, aber das "Fleisch" von main.js nicht ausführen wird, bis alle Abhängigkeiten ausgeführt werden (Alpha und Beta).

Ich hoffe das hilft. Die folgenden Änderungen an Ihrem Code können auch veranschaulichen, was los ist. Der SetTimeout bietet Alpha und Beta die Möglichkeit zu laden:

<script type="text/javascript">
  setTimeout(function(){
           $(document).ready(function() {
              $('body').alpha().beta();
           });
           }, 5000);
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top