Ich habe gerade angefangen, auf AngularJS von w3schools zu lernen. Ich versuche, Beispiele zu üben, was auch immer sie in den Tutorials erwähnt haben. Alles funktioniert gut, aber wenn ich zu "AngularJS Controllers" kam, funktioniert es nicht richtig, da es gut funktioniert in w3schools Try it Yourself » . Ich habe meinen Code in dieses Geige-Beispiel ..__ eingeteilt. Mein Skript sieht folgendermaßen aus:
function personController($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
}
Versuchen Sie mir zu helfen und schlagen Sie mir ein gutes Tutorial (oder eine kostenlose PDF-Datei) vor.
Dies ist Ihre korrigierte Geige.
Es ist eine bewährte Methode für das Angleichen, dass die Controller-Definition in etwa wie folgt aussehen muss:
angular.module("app", []).controller("personController", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
Und ohne Zweifel ist das beste Tutorial, das Sie je für das Erlernen des Grundlagenvon Angular gelernt haben, das CodeSchool!
Hoffe das hilft.
Es ist ein neuer Ansatz. Controller können ohne Modul nicht mehr verwendet werden. Schauen Sie sich this an. Fügen Sie einfach ein Modul hinzu und hängen Sie den Controller an, dann haben Sie kein Problem.
Ich habe gerade deine Js-Geige geändert. Bitte überprüfen Sie das Geige-Beispiel
function personController($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
}
Mit Ihrem Code ist kein Problem aufgetreten, mit Ausnahme der JS-Geigeneinstellungen von onLoad nach No wrap-in head
Sie müssen die Funktion als Parameter innerhalb des Moduls eingeben
var app = angular.module('app',[]);
app.controller('personController',function($scope){
$scope.firstName = 'John';
$scope.lastName = 'Smith';
});
durch Hinzufügen von np-app="myApp"
in einem beliebigen Tag von html wie<html ng-app = "myApp">
mein Code funktioniert einwandfrei.
Sie müssen ein Anwendungsmodul erstellen und dann einen Controller hinzufügen. Im Winkel geht es nur um Abhängigkeiten. Zweitens benötigen Sie einen App-Namen . Das Basistutorial befindet sich auf der Hauptseite: https://docs.angularjs.org/tutorial/step_00 Ich habe damit angefangen und es hat gut funktioniert mir. Führen Sie einfach alle Schritte ab Schritt 1 aus.
Dies ist ein allgemeines Suchergebnis für "Angular Controller, das nicht funktioniert". Ich dachte, es wäre hilfreich, die Lösung hinzuzufügen, durch die das Problem "Controller nicht funktioniert" behoben wurde.
Ich hatte meine Basisroute mit $routeProvider
, die auf eine Controller-Datei zeigte, und eine templateUrl-Partition wie folgt:
$routeProvider.when('/', {
templateUrl: 'partials/home.html',
controller: 'homePage'
});
Ich hatte mehrere andere Routen und alle diese Controller funktionierten, aber aus irgendeinem Grund war meine erste Route nicht der Fall. Es stellte sich heraus, dass ich einen kleinen logischen Fehler in meinem Partial hatte und dass ANY meines Controller-Codes nicht ausgeführt werden konnte.
Dummer kleiner Fehler, aber ich wurde überrascht, dass es ein logisches Problem in meinem Partial war, das die Ausführung von Controller-Code verhinderte. Es hat viel länger gedauert, als ich zugeben möchte, weil das Problem nicht in meinem "JavaScript" war, obwohl die Konsolenfehler vorhanden waren. Die Freuden eines eng gekoppelten Front-End-Codes?
Dasselbe Problem kann auftreten, wenn Sie versuchen, App in einer anderen ngApp zu verschachteln.
Die Dokumentation sagt:
AngularJS applications cannot be nested within each other.