Я пытаюсь использовать ng-repeat для распечатки массива в списке HTML.Элементы списка отображаются правильно, но строки пусты.
Я пробовал разные версии angularjs, версии jquery, но это не сработало.Если я использую ng-bind, он хорошо показывает данные на html-странице.
index.js
var app = angular.module('programsApp', []);
app.controller('programsController', function ($scope, $http) {
$scope.programs = [1, 2, 3];
console.log($scope.programs);
});
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Index</title>
<!-- Scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.7/angular.min.js"></script>
<script src="../../index.js"></script>
</head>
<body ng-app="programsApp" ng-controller="programsController">
<h1>Current Programs</h1>
<ul>
<li ng-repeat="x in programs">{{x}}</li>
</ul>
</body>
</html>
Консоль печатаетмассив массива из index.js, без ошибок
3) [1, 2, 3]0: 11: 22: 3length: 3__proto__: Array(0)
На html-странице отображаются только
Current Programs
*
*
*
, поэтому он показывает три li, но ничего в них
здесьэто код из элемента проверки
<ul>
<!-- ngRepeat: x in programs -->
<li ng-repeat="x in programs" class="ng-scope"></li>
<!-- end ngRepeat: x in programs -->
<li ng-repeat="x in programs" class="ng-scope"></li>
<!-- end ngRepeat: x in programs -->
<li ng-repeat="x in programs" class="ng-scope"></li>
<!-- end ngRepeat: x in programs -->
</ul>
Спасибо.
ОБНОВЛЕНИЕ: проблема была в экспресс-конфигурации, устранена:
app.engine('html', engines.mustache);
и измененаэто:
app.engine('html', require('ejs').renderFile);
решил проблему!
Спасибо dacre-denny