Я новичок в AngularJS и работаю над некоторыми документами и учебниками для изучения. Мой вопрос относится к серии видеороликов Egghead, в частности, к этому видео, демонстрирующему, как собрать основной фильтр поиска. Я хотел использовать это в реальном приложении, которое я создаю для друга с небольшим бизнесом по изготовлению свечей, но когда я его модифицировал, чтобы быть ее свечами, а не мстителями (как показано на видео), я получил эту ошибку
Неподготовленная ошибка: [$ injector: modulerr] Не удалось создать модуль myApp из-за:
Ошибка: [$ injector: nomod] Модуль 'myApp' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете...
Я скопировал отредактированный (только 3 литых члена в массиве) версию ТОЧНО, что находится в видеоролике в jsfiddle, и обнаружил, что она по-прежнему дает ту же ошибку. (Для справки, демо-версия Egghead находится здесь: http://www.thinkster.io/angularjs/ET1iee6rnm/angularjs-ngfilter). Я читал по крайней мере полдюжины подобных вопросов на этом сайте и пытался каждое предлагаемое решение, но ни один из них не избавился от этой ошибки или не вызвал поиск Avengers, который отлично работает в видеоролике, должным образом.
HTML:
<div ng-app="myApp">
<div ng-controller="AvengersCtrl">
<input type="text" ng-model="search.$" />
<table>
<tr ng-repeat="actor in avengers.cast | filter:search">
<td>{{actor.name}}</td>
<td>{{actor.character}}</td>
</tr>
</table>
</div>
</div>
JavaScript:
var myApp = angular.module('myApp', []);
myApp.factory('Avengers', function () {
var Avengers = {};
Avengers.cast = [
{
name: "Robert Downey Jr.",
character: "Tony Stark / Iron Man"
},
{
name: "Chris Evans",
character: "Steve Rogers / Captain America"
},
{
name: "Mark Buffalo",
character: "Bruce Banner / The Hulk"
}
];
return Avengers;
})
function AvengersCtrl($scope, Avengers) {
$scope.avengers = Avengers;
}
Проще говоря, может ли кто-нибудь предложить решение, которое будет работать и избавиться от этой ошибки, а также объяснить на простом английском (не уровне Ph.D. "Angular Obscurese" ), что вызывает его (в двух словах) и что нужно сделать, чтобы избежать этого?
Изменить: Извините, но ссылка jsfiddle, ссылка на которую приведена выше из учебника, больше не активна. Я удалил неработающую ссылку. Указанный урок все еще доступен для просмотра.