Если заявление в ejs - PullRequest
       24

Если заявление в ejs

0 голосов
/ 26 апреля 2018

На самом деле мой код layout.ejs выглядит так:

    <!-- begin:: Page -->
      <div class="m-page">
        <%- partial('./partials/topnav.ejs') %>
        <!-- begin::Body -->
        <div class="m-body">
          <%- partial('./partials/leftnav.ejs') %>
          <div class="m-wrapper">
            <%- body %>
          </div>
        </div>
        <!-- end:: Body -->
        <%- partial('./partials/footer.ejs') %>
      </div>
      <!-- end:: Page -->
      <%- partial('./partials/side.ejs') %>

Я хочу использовать другой контроллер в панелях навигации и теле, поэтому я разделил представление таким образом.

Теперь я хочу, чтобы страница входа в систему была другой (вообще никаких панелей навигации). Я пытался скрыть навигационные панели с помощью ng-show, но он мерцает, и я пытался остановить это мерцание, но я все еще вижу левую панель в течение доли секунд, что действительно беспокоит.

Итак, я хочу попробовать отобразить только тело, если местоположение страницы / login. Я не могу использовать контроллер для этого, потому что те, которые уже используются для панелей навигации и тела, будут конфликтовать.

Я хотел бы использовать что-то вроде этого:

<script type="text/javascript">
  var path = this.window.location.pathname;
</script>

...


<% if (path == '/login') { %>
  <%- body %>
<% } else{ %>
  ..the previous code..
<% } %>

Но при этом появляется ошибка «путь не определен». Поэтому я искал информацию о EJS if, но в лучшем случае она всегда попадает в условие else.

1 Ответ

0 голосов
/ 26 апреля 2018

Вам необходимо определить переменную path, которая содержит правильное значение, которое вам нужно.

Поэтому создайте его в соответствующем контроллере и передайте его в ваш вид следующим образом:

res.view(pathToYourView, {  path: yourPath, ... });
...