Angular Генерирует чистый HTML из модуля JSON

#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. Я, честно говоря, не думаю, что это будет квалифицироваться как полноценный ответ, но если вы хотите отдать должное, просто отметьте мой комментарий как полезный.