Erreur: [ng: areq] Argument 'MyCtrl' n'est pas une fonction, est indéfini
Je suis nouveau sur Angularjs et j'ai suivi un tuto mais j'ai obtenu l'erreur dans le titre.
Code HTML:
<div data-ng-app="myApp">
<div data-ng-controller="MyCtrl">
<form>
<table>
<tr style="font-weight: bold">
<td>ID</td>
<td>Name</td>
<td>Surname</td>
<td>House</td>
<td>Address</td>
<td>Locality</td>
<td>Contact</td>
<td>Contact 2</td>
<td>Contact 3</td>
<td>Reply</td>
<td>Edit</td>
</tr>
<tr data-ng-repeat="person in persons">
<td>{{person.ID}}</td>
<td>{{person.Name}}</td>
<td>{{person.Surname}}</td>
<td>{{person.House}}</td>
<td>{{person.Address}}</td>
</tr>
</table>
</form>
</div>
</div>
<script type="text/javascript">
//Defining a Angular module
var myApp = angular.module('myApp', []);
//Defining a Angular Controller
myApp.controller('MyCtrl', ['$scope', '$http', function ($scope, $http) {
//Retrieving the List of people
GetPersons();
//Displaying the Save button
$scope.DisplaySave = true;
function GetPersons() {
//Defining the $http service for getting the people
$http({
method: 'GET', url: '/api/data'
}).
success(function (data) {
if (data != null || data != 'undefined') {
//Assigning people data to the $scope variable
$scope.persons = data;
//Clearing the Person object in create context and Showing default Gender(Male) Checked
$scope.newperson = {
Id: ''
};
}
})
.error(function (error) {
//Showing error message
$scope.status = 'Unable to retrieve people' + error.message;
});
}
} ]);
</script>
API Contrôleur:
public class DataController : ApiController
{
//GET api/data
public IEnumerable<CommonLayer.Telesales> GetPeople()
{
return new BusinessLayer.Telesales().getUserSession(User.Identity.Name).AsEnumerable();
}
Plus de détails de l'erreur:
magicplayer:init: set version: 1.0.1
adme: onDOMStart: got code: user_key=f52009a2292c2b524ac9af2801caef4c443d7cdc7697dff171f77b3c81cd26fa gender=1 age=4
Error: [ng:areq] Argument 'MyCtrl' is not a function, got undefined
http://errors.angularjs.org/1.2.18/ng/areq?p0=MyCtrl&p1=not%20a%20function%2C%20got%20undefined
at http://localhost:12570/Scripts/angular.js:78:12
at assertArg (http://localhost:12570/Scripts/angular.js:1475:11)
at assertArgFn (http://localhost:12570/Scripts/angular.js:1485:3)
at http://localhost:12570/Scripts/angular.js:7198:9
at http://localhost:12570/Scripts/angular.js:6592:34
at forEach (http://localhost:12570/Scripts/angular.js:327:20)
at nodeLinkFn (http://localhost:12570/Scripts/angular.js:6579:11)
at compositeLinkFn (http://localhost:12570/Scripts/angular.js:6028:13)
at compositeLinkFn (http://localhost:12570/Scripts/angular.js:6031:13)
at compositeLinkFn (http://localhost:12570/Scripts/angular.js:6031:13)
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:12570/Images/accent.png
onMessageFromBackground: method=statPixel
ce que je fais mal? Je recherche d'autres solutions, mais il semble que mon problème est un peu différent.
source d'informationauteur rikket
Vous devez vous connecter pour publier un commentaire.
S'avère que j'ai eu et le tag html suivant dans la page de mise en page qui était de retour cette erreur
Supprimé le ng-app à partir de l'étiquette et le code fonctionne parfaitement
Dans mon cas, j'avais juste oublié d'ajouter un contrôleur de script index.html
J'ai eu ce type d'erreur quand j'ai mal orthographié mon nom de contrôleur. Il a été capitalisé dans le fichier js, mais pas dans le ng-controller balise dans le fichier html.
Parfois, cela peut se produire lorsque nous ne sommes pas du module de liaison/contrôleur de DOM correctement. Je suis venu à la même erreur et j'ai trouvé que ma ng-app a été attribué vide
J'avais besoin de fournir de nom de module. J'ai donné et ça a fonctionné!
J'ai eu cette erreur à l'aide d'un Matériel de Conception de boîte de dialogue dans mon Angularjs contrôleur avec un très dur à trouver, faute de frappe:
Quand j'ai remplacé le point-virgule avec la bonne virgule, il a résolu le problème.
Quelque temps, nous avons utiliser le même nom de module dans l'usine,les contrôleurs et le module principal.donc,
c'est la principale raison pour laquelle cela va donner d'erreur Erreur: [ng:areq] Argument,ne pas utiliser le même nom de module quand u appellent appel à vos services,contrôleurs,d'usine.
Je l'ai conduit moi-même fou sur cela pour un couple d'heures après la vérification et la vérification de toutes les suggestions. Mais, il s'est avéré qu'une fois que j'ai effacé mon navigateur Chrome de données (cookies, a accueilli les données de l'application et de la mise en cache de l'image et les fichiers), l'erreur a disparu. Même une actualisation ne semble pas à effacer tous les éléments énumérés assez .
J'ai utilisé
<html ngapp>
avec angulaire 1.4.8Changé 1.2.8 et se débarrasser de l'erreur.
Mon html a
<div class ="container" ng-controller="AppCtrl">
et j'ai eu un controller.js fichier avec la fonction
function AppCtrl(){
console.log("Hello from controller")
}
Dans mon cas:
<body ng-controller="CtrlWasNotFound"> <body></body </body>
app.js
retourné dans le code HTML de index.html ( a l'aide degulp
et a eu un problème de configurationPour résoudre ce problème, je devais découvrir que j'ai mal orthographié le nom du contrôleur dans la déclaration de Angulaire routes:
au lieu de
;), tout en les reliant controller.js. Dans mon cas,