2015-08-19 2 views
0

Я получаю сообщение об ошибке при загрузке страницы. Я пытаюсь добавить новый объект к массиву записей. Что случилось с этим?Получение Uncaught TypeError: невозможно прочитать свойство «push» undefined

enter image description here

raffle.js

angular.module('myApp', []).controller("RaffleCtrl", function ($scope) { 
    $scope.entries = [ 
     { 
     name: "Larry" 
     }, { 
     name: "Curly" 
     }, { 
     name: "Moe" 
     } 
    ] 

    $scope.addEntry = function() { 
    $scope.entries.push($scope.newEntry) 
    $scope.newEntry = {} 
    }; 

}); 

index.html

<h1>Raffler</h1> 

<div ng-controller="RaffleCtrl"> 

    <form ng-sumbit="addEntry"> 
    <input type="text" ng-model="newEntry.name"> 
    <input type="submit" value="Add"> 
    </form> 

    <ul> 
    <li ng-repeat="entry in entries">{{entry.name}}</li> 
    </ul> 
</div> 
+0

Вы делаете этот javascript в блоке, подготовленном домом? –

+0

@MaxWilliams Нет, я не делаю это в готовом() блоке. –

ответ

2

Вы забыли определить $ scope.newEntry = {} вне и круглые скобки в форме ng-sumbit = "submit()" Изменить код для ..

$ scope.entries = [{ имя: "Ларри" }, { название: "Curly" }, { название: "Moe" } ];

$scope.newEntry = {} 
    $scope.submit = function() { 
    $scope.entries.push($scope.newEntry) 
    $scope.newEntry = {} 
    }; 
+0

печально не работает –

+0

взгляните на URL https://docs.angularjs.org/api/ng/directive/ngSubmit Это именно то, что вы делаете. – neetesh