привет. Я работаю над учебным проектом, для первой части я пытаюсь сделать форму, которая примет номер ISBN книги, а затем запросит его цену в Интернете.Угловой массив.push() возвращает пустой объект
В качестве стартера я сделал массив книг как образцы данных, таблицу для их отображения и форму для приема ISBN.
На этом этапе я бы просто хотел, чтобы форма добавляла ISBN к существующему массиву, но это не работает. Когда я отправляю форму, данные не добавляются в таблицу, но добавляется пустая строка таблицы. Так что что-то происходит, но как-то не правильно
Мой appfile
(function() {
var app = angular.module('booksApp', []);
app.controller('BooksController', function() {
this.queryResults = results;
});
app.controller('QueryController', function() {
this.queryBook = function(){
this.val = this.isbn;
results.push([{ISBN: }]);
this.isbn = '';
};
});
var results = [
{
name: 'book 1',
ISBN: 1234,
price: 13.4
},
{
name: 'book 2',
ISBN: 1234234,
price: 32.8
}
];
})();
Мой HTML файл
<body ng-controller="BooksController as books">
<form ng-controller="QueryController as qry" ng-submit="qry.queryBook()">
Please enter ISBN number to be queried:
<input type="text" ng-model="qry.isbn" />
<input type="submit" value="query" /> <br />
The queried value is {{qry.val}}
</form>
<table class="table">
<thead>
<tr>
<td>ISBN</td>
<td>Book Name</td>
<td>Shop</td>
<td>Stock</td>
<td>Price</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="result in books.queryResults">
<td>{{result.ISBN}}</td>
<td>{{result.name}}</td>
<td>{{result.shop}}</td>
<td>{{result.stock}}</td>
<td>{{result.price | currency}}</td>
</tr>
</tbody>
</table>
<script src="js/angular.js" type="text/javascript"></script>
<script src="booksApp.js" type="text/javascript"></script>
</body>
Стоит упомянуть, что '.push ([{ISBN:}]);' дает синтаксическую ошибку. :) –
oh, и это тоже должно быть: '.push ({ISBN: this.val});' – Rasalom
Я использовал .push ({ISBN: this.val}); Спасибо большое .. :) – Patriot