В моей модели модели у меня есть несколько методов, которые возвращают данные в наблюдаемом массиве. Все работает нормально, когда я нажимаю кнопку, которая вызывает метод newGame
. Однако во второй раз, когда я нажимаю кнопку, я получаю ошибку javascript.Нокаут JS removeAll() не работает во второй раз, когда он называется
self.newGame = function() {
// reset the zones
self.resetBoardState();
// more stuff here but clipped for brevity ...
}
self.resetBoardState = function() {
// clear all zones...
self.library.removeAll();
// place all cards in deck into library ...
self.library = JSON.parse(JSON.stringify(self.deck));
}
Ошибка я получаю в консоли JavaScript является:
Uncaught TypeError: Object [object Array] has no method 'removeAll'
У меня есть JS Fiddle вот так весь вид модели можно увидеть. Если вы нажмете кнопку «Новая игра» в первый раз, все будет работать отлично. Вы также можете нажать кнопку «Рисовать карту», и она также будет вести себя правильно. Однако нажатие кнопки «Mulligan» вызывает ту же ошибку, что и нажатие кнопки «Новая игра».
Что я могу сделать для этого?
Спасибо. Теперь кажется очевидным, что вы это указали. –