Подтвердить что ты не робот

AngularJS ng-controller не работает

Я только что начал изучать AngularJS из w3schools. Я пытаюсь практиковать примеры, о чем они упоминали в учебниках. Все отлично работает, но когда я пришел в "AngularJS Controllers", он не работает должным образом, как хорошо работает в w3schools Try it Yourself ". Я разработал свой код в этом примере скрипта. Мой script выглядит следующим образом:

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}

Попробуйте помочь мне и предложите мне хороший учебник (или любой бесплатный pdf файл).

4b9b3361

Ответ 1

Это ваш исправленный скрипт.

Хорошая практика для angular заключается в том, что определение контроллера должно выглядеть примерно так:

angular.module("app", []).controller("personController", function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

И, без сомнения, лучшим учебником для изучения основ angular является CodeSchool один!

Надеюсь, что это поможет.

Ответ 2

Это новый подход. Мы больше не можем использовать контроллеры без модуля. Посмотрите этот. Просто добавьте модуль и добавьте контроллер, тогда у вас не будет проблем.

Ответ 3

Я только что изменил ваш скрипт js. Пожалуйста, проверьте пример скрипта

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}

Не было проблем с вашим кодом, кроме настроек скрипта JS от onLoad до Без обертки - в голове

enter image description here

Ответ 4

Вам нужно создать модуль приложения, а затем добавить к нему контроллер. В angular все зависит от зависимостей. Во-вторых, вам нужно имя приложения. Основной учебник находится на главной странице: https://docs.angularjs.org/tutorial/step_00 Я начал с этого, и он отлично справился со мной. Просто сделайте все шаги, начиная с шага 1.

Ответ 5

Это общий результат поиска для "Angular Controller Not Working", поэтому я подумал, что было бы полезно добавить решение, в котором была исправлена ​​моя проблема с "контроллером".

У меня был базовый маршрут с $routeProvider, указывающий на файл контроллера и partialUrl как таковой:

$routeProvider.when('/', {
    templateUrl: 'partials/home.html',
    controller: 'homePage'
});

У меня было несколько других маршрутов, и все эти контроллеры работали, но по какой-то причине мой первый маршрут не стал. Оказывается, у меня была небольшая логическая ошибка в моем частичном, и это предотвратило ЛЮБОЙ код моего контроллера.

Тупая маленькая ошибка, но я был застигнут врасплох, что это была логическая проблема в моей частичной части, которая мешала запуску какого-либо контроллера. Это заняло гораздо больше времени, чем я хотел бы признать, потому что проблема не была в моем "JavaScript", хотя присутствовали ошибки консоли. Радости плотно связанного кода переднего плана, amiright?

Ответ 6

То же самое может быть, если вы попытаетесь вложить ngApp в anothe ngApp.

В документации написано:

AngularJS applications cannot be nested within each other.

Ответ 7

Вы должны ввести функцию в качестве параметра внутри модуля

var app = angular.module('app',[]);
app.controller('personController',function($scope){
  $scope.firstName = 'John';
  $scope.lastName = 'Smith';
});

Ответ 8

добавив np-app="myApp" в любой тег html, например <html ng-app = "myApp">, мой код отлично работает.