Atlas91
Atlas91

Reputation: 5904

Error: Argument 'ContactController' is not a function, got undefined

I'm trying to create a little controller in my simple web app using angularjs but i get this error:

Error: Argument 'ContactController' is not a function, got undefined

This is what i've done so far:

angular (ContactsController.js):

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

mainApp.ContactController = ("ContactController", ["$scope", function($scope) {
    $scope.contatti = {};
    $scope.contatti.contacts = ["[email protected]", "[email protected]"];

    $scope.contatti.addContacts = function () {
        $scope.contatti.contacts.push($scope.newcontact);
        $scope.contatti.newcontact = "";
    };

}]);

html:

    <!DOCTYPE html>
<html data-ng-app="mainApp" data-ng-controller="ContactController">

<head>
    <meta charset="utf-8">
    <script src="jquery-1.11.2.js"></script>
    <script src="angular-1.3.12/angular.js"></script>
    <script type="text/javascript" src="angular-1.3.12/angular.js"></script>
    <script type="text/javascript" src="angular-1.3.12/angular-cookies.js"></script>
    <script type="text/javascript" src="angular-1.3.12/angular-resource.js"></script>
    <script type="text/javascript" src="angular-1.3.12/angular-sanitize.js"></script>

    <link type="text/css" rel="stylesheet" href="ukit-2.16.2/css/uikit.almost-flat.css" />
    <script src="ContactsController.js"></script>
    <link type="text/css" rel="stylesheet" href="main.css" />
</head>

<body>

    <div>
        Email:<input type="text" ng-model="contatti.newcontact" />

        <button ng-click="addContacts()">Add</button>

        <h2>Contacts</h2>
        <ul>
            <li ng-repeat="contact in contatti.contacts"> {{ contact }} </li>
        </ul>

    </div>
</body>
</html>

Upvotes: 1

Views: 250

Answers (2)

Narendra
Narendra

Reputation: 1

Replace this line:

mainApp.ContactController = ("ContactController", ["$scope", function($scope) 

By:

mainApp.controller= ("ContactController", ["$scope", function($scope) 

Upvotes: 0

squiroid
squiroid

Reputation: 14027

It should be like :-

mainApp.controller("ContactController", ["$scope", function($scope) {
    $scope.contatti = {};
    $scope.contatti.contacts = ["[email protected]", "[email protected]"];

    $scope.contatti.addContacts = function () {
        $scope.contatti.contacts.push($scope.newcontact);
        $scope.contatti.newcontact = "";
    };

}]);

Upvotes: 3

Related Questions