#javascript #html #angular #typescript
Вопрос:
Невозможно сгенерировать чистый HTML-файл из текущих данных JSON.
Я попытался сгенерировать чистый HTML-файл из сгенерированного angular модуля JSON:
{"surveyTitle":"ddasdas","surveyType":"Training","surveyQuestions":[{"questionTitle":"dasda","questionType":"Single choice","questionGroup":{"options":[{"optionText":"dsadsa"},{"optionText":"dasdsa"}],"showRemarksBox":false}}],"IsAnonymous":false}
Чтобы решить эту проблему, я использовал этот источник ниже
отсюда surveyjs.io :
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<title>One choice - Radio Group question, jQuery Survey Library Example</title><meta name="viewport" content="width=device-width"/>
<script src="https://unpkg.com/jquery"></script>
<script src="https://unpkg.com/survey-jquery@1.8.75/survey.jquery.min.js"></script>
<link href="https://unpkg.com/survey-core@1.8.75/modern.min.css" type="text/css" rel="stylesheet"/>
<link rel="stylesheet" href="./index.css"></head>
<body>
<div id="surveyElement" style="display:inline-block;width:100%;"></div>
<div id="surveyResult"></div>
<script type="text/javascript" src="./index.js"></script>
</body>
</html>
JS:
Survey
.StylesManager
.applyTheme("modern");
var json = {
questions: [
{
"type": "radiogroup",
"name": "car",
"title": "What car are you driving?",
"isRequired": true,
"hasNone": true,
"colCount": 4,
"choices": [
"Ford",
"Vauxhall",
"Volkswagen",
"Nissan",
"Audi",
"Mercedes-Benz",
"BMW",
"Peugeot",
"Toyota",
"Citroen"
]
}
]
};
window.survey = new Survey.Model(json);
survey
.onComplete
.add(function (sender) {
document
.querySelector('#surveyResult')
.textContent = "Result JSON:n" JSON.stringify(sender.data, null, 3);
});
$("#surveyElement").Survey({model: survey});
Но я получаю ошибки для моего текущего JSON.
Мой код здесь: Stackblitz — нажав Добавить новый опрос, который генерирует JSON.
Комментарии:
1. Вам нужно будет написать некоторый код, который преобразует объект
surveyForm.value
в формат, ожидаемый surveyjs. Их структуры очень разные. На самом деле вы не можете ожидать, что будете напрямую передавать первое в surveyjs.2. Да, я планировал это сделать. Но было любопытно найти другой обходной путь… У вас есть какой-нибудь источник для этого?
3. Это может быть полезно: github.com/surveyjs/surveyjs_angular_cli
4. Спасибо за это, не могли бы вы подать заявку на этот вопрос, я отмечу ваш ответ как решение? 🙂
5. Я, честно говоря, не думаю, что это будет квалифицироваться как полноценный ответ, но если вы хотите отдать должное, просто отметьте мой комментарий как полезный.