AngularJS: проблема при использовании ng-контроллера - PullRequest
0 голосов
/ 03 июня 2019

Проблема с ng-контроллером: Ошибка: [$ controller: ctrlreg] http://errors.angularjs.org/1.7.8/$controller/ctrlreg?p0=ListDataCtrl

Я новичок в AngularJS, я столкнулся с проблемой при использовании ng-controller: это мой код:

<html>
<head>
    <title></title>
</head>
<body ng-app>

<div ng-controller="ListDataCtrl">
<div ng-repeat="item in listData">
        <p><strong>{{item.name  | uppercase}}</strong></p>
        <p>{{item.country}}</p>
        <p>*********************</p>
    </div>  
</div>


<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.min.js"></script>

<script>
    function ListDataCtrl($scope){

        $scope.listData =[
        {"name":"Achraf", "country":"Tunisia"},
        {"name":"Maher", "country":"UAE"},
        {"name":"Ahmed", "country":"USA"},
        {"name":"Issam", "country":"France"}
        ];
    }
</script>


</body>
</html>

the error message is : angular.js:15567 Error: [$controller:ctrlreg] http://errors.angularjs.org/1.7.8/$controller/ctrlreg?p0=ListDataCtrl

1 Ответ

2 голосов
/ 03 июня 2019

Ошибка указала, что контроллер не зарегистрирован:

The controller with the name 'ListDataCtrl' is not registered.

Начиная с версии AngularJS 1.3, вы должны регистрировать свои контроллеры с модулями, а не выставлять их как глобальные: Документация

Прежде всего вам необходимо объявить модуль angularJS для приложения, а затем зарегистрировать контроллер на этом модуле, как показано ниже:

<body ng-app="myApp">

В скрипте объявление приложения:

var myApp = angular.module('myApp', []);

настройка контроллера:

myApp.controller('ListDataCtrl', ['$scope', function($scope) {
...
}
...