Это файл pug для каталога
doctype html
html
head
title Tradecademy
meta(name="viewport", content="width=device-width, initial-scale=1")
script(src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js")
script(src="https://code.angularjs.org/1.5.6/angular-sanitize.min.js")
link(rel="stylesheet", href="https://www.w3schools.com/w3css/4/w3.css")
link(rel="stylesheet", href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css")
link(rel="stylesheet", href="https://fonts.googleapis.com/css?family=Montserrat")
link(href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css", rel="stylesheet", integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh", crossorigin="anonymous")
script(src="./includes/catalog.js")
body(ng-app="catalog" ng-controller="catalogController")
include ./includes/appheader.pug
.w3-display-container
ul.w3-ul
li
h2 Beginner Modules
li
div(ng-repeat=("module in beginnerModules"))
| {{module.name}}
button.w3-button.w3-blue.w3-hover-teal(ng-click="buyCourse(\"{{module.name}}\")")
li
h2 Advanced Modules
Это каталог. js file
var app = angular.module('catalog', ['ngSanitize']);
app.controller("catalogController", ($scope, $http) => {
$http({
method : 'GET',
url : '/catalogModules'
}).then((response)=> {
if(response.data.undefined == "undefined") {
window.location.href="/"
}
else
{
$scope.headerArray = []
angular.forEach(response, (value) => {
$scope.headerArray.push(value);
});
$scope.modules = $scope.headerArray[0];
$scope.beginnerModules = []
$scope.advancedModules =[]
angular.forEach($scope.modules, (value) => {
if(value.type == "Beginner")
{
$scope.beginnerModules.push(value);
}
if(value.type == "Advanced")
{
$scope.advancedModules.push(value);
}
});
}
$scope.buyCourse = (module) => {
console.log(module);
$http.post("/buyNewModule", module)
.success(function (data, status, headers) {
console.log($scope.beginnerCourseKey);
console.log(data);
console.log(status);
console.log(headers);
})
.error(function (data, status, header) {
console.log($scope.beginnerCourseKey);
console.log(data);
console.log(header);
console.log(status);
});
}
});
});
Проблема заключается в том, когда следует регистрировать атрибут имени модуля это регистрирует "{{module.name}}". Мне нужно иметь доступ к действительному значению имени вместо интерполяции AngularJS. Я довольно новичок в AngularJS, поэтому, если я делаю что-то не так, пожалуйста, дайте мне знать. Функция GET работает просто отлично.