Я пытаюсь пройти руководство по AngularJS на сайте codechool.com, но пока я прорабатываю его и обновляю свой браузер, чтобы увидеть свой прогресс, в какой-то момент в руководстве браузер всегда загружает пустую веб-страницу и не загружает кода больше. Я дважды пытался изучить руководство с самого начала, и оба раза это происходило в разные моменты.
Я должен продолжать делать что-то не так в моем коде. Кто-нибудь еще имел эту проблему или знает, как ее исправить?
Я видел здесь пару похожих вопросов, но ответы не помогли.
Вот HTML:
<!DOCTYPE html>
<html ng-app='store'>
<head>
<html lang = "en-US">
<link rel = "stylesheet/css" type = "text/css" href = "bootstrap.min.css" />
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
</head>
<body ng-controller = "StoreController as store">
<div ng-repeat = "product in store.products">
<h1> {{store.product.name}} </h1>
<h2> {{store.product.price}} </h2>
<p> {{store.product.description}} </p>
<button>Add to Cart</button>
</div>
<script type = "text/javascript" src = "app.js"></script>
</body>
</html>А вот и JS-файл:
(function (){
const app = angular.module('store', [ ]);
app.controller("StoreController", function(){
this.product = gems;
});
const gems = [
{
name: "Dodecahedron",
price: 2.95,
description: 'Many sided gem. Would look great in a ring.',
},
{
name: "Pentagonal Gem",
price: 5.95,
description: 'A gem shaped like a pentagon. More expensive and
more shiny',
}
];
})();



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Две вещи: у вас есть несовпадающее имя переменной между вашим контроллером и вашим представлением, а затем внутри вашего ng-repeat вы включаете псевдоним вашего контроллера вместо прямого доступа к каждому из повторяющихся элементов.
Сначала измените this.product = gems; в вашем контроллере на this.products = gems;, а затем измените свой div ng-repeat на это:
<div ng-repeat = "product in store.products">
<h1> {{product.name}} </h1>
<h2> {{product.price}} </h2>
<p> {{product.description}} </p>
<button>Add to Cart</button>
</div>
Почему до сих пор используют старую версию?