Неожиданный маркер ';' при компиляции ejs - PullRequest
2 голосов
/ 09 июля 2020

В настоящее время я разрабатываю веб-приложение с использованием sqlite. Здесь я хочу отобразить серьезные данные в зависимости от их типа, зарегистрированного в базе данных. Таким образом, я хочу использовать оператор case. Но этот дает мне эту ошибку, на мой взгляд, при его вызове.

Также я попытался отобразить его без оператора case, и он отлично отображается. мой взгляд:

<%- include("layouts/_header") %>
<div class = "container" style="padding-top: 50px">

<div class="row">
    <form class="col-12" action="/create_config" method="POST">

        <% categories.forEach((category) => {%>
        <div class="card mb-4">
            <div class="card-header"> <%= category.name_var_category %> </div>
            <% data.forEach((values) => {%>
                <% if (values.id_variable_category === category.id) {%>  
                    <% switch(values.name_variable_types) {%>
                        <% case 'Hexadecimal': %>
                            <div class="form-group col-md-4">
                                <label for="<%= values.name_variable %>"><%= values.name_variable %></label>
                                <input type="text" class="form-control" name="<%=  values.name_variable %>" value="<%= values.value_variable %>">
                            </div>
                            <% break; %>
            
                        <% case 'Boolean': %>
                            <div class="form-group col-md-4">
                                <label for="<%=  values.name_variable %>"><%= values.name_variable %></label>
                                <select class="form-control" name="<%=  values.name_variable %>" id="<%=  values.name_variable %>">
                                    <option value="<%= values.value_variable %>"><%= values.value_variable %></option>
                                    <% if(values.value_variable === "ON") {%>
                                        <option value="<%= 'OFF' %>">OFF</option>
                                    <% }else {%>
                                        <option value="<%= 'ON' %>">ON</option>
                                    <% } %>
                                </select>
                            </div>
                            <% break; %>
            
                        <% case 'Integer': %>
                            <div class="form-group col-md-4">
                                <label for="<%=  values.name_variable %>"><%= values.name_variable %></label>
                                <input type="number" class="form-control"  name="<%=  values.name_variable %>" value="<%= values.value_variable %>" min="<%= values.start_range_variable %>" max="<%= values.end_range_variable %>" step="<%= values.step_variable %>" >
                            </div>
                            <% break; %>
            
                        <% case 'Float': %>
                            <div class="form-group col-md-4">
                                <label for="<%=  values.name_variable %>"><%= values.name_variable %></label>
                                <input type="number" class="form-control"  name="<%=  values.name_variable %>" value="<%= values.value_variable %>" min="<%= values.start_range_variable %>" max="<%= values.end_range_variable %>" step="<%= values.step_variable %>" >
                            </div>
                            <% break; %>
            
                        <% default: %>
                        <div class="alert alert-success">
                            <p>A value had no variable type</p>
                        </div>
                    <% } %>
                <% } %>
            <% }) %>
        </div>   
        <% }) %>

        <div class="form-group row">
            <div class="col-sm-10 pt-3">
                <button type="submit" class="btn btn-primary">Géréner Fichier Config</button>
            </div>
        </div>
    </form>
</div>
</div>
<%- include("layouts/_footer") %>

1 Ответ

1 голос
/ 09 июля 2020

Проблема в том, как вы используете switch case - похоже, что e js ожидает, что cases останется внутри выражения switch -e js. Попробуйте что-то вроде этого:

  <% switch(values.name_variable_types) {
        case 'Hexadecimal': %>
            <div class="form-group col-md-4">
              <label for="<%= values.name_variable %>"></label>
              <input type="text" class="form-control" name="<%=  values.name_variable %>" value="<%= values.value_variable %>">
            </div>
        <% break;
        case 'Boolean': %>
        ...
...