В Vue следует избегать прямых манипуляций с DOM. Вместо этого вы должны позволить Vue сделать это (это довольно хорошо). Поэтому используйте
Где optional
будет добавлено / удалено на основе привязки к данным expression
.
Кроме того, вы можете использовать v-if
, v-show
или v-hide
(т. Е. v-if="expression"
), если все, что вам нужно, это показать / скрыть элемент.
Для списка случаев, когда прямая манипуляция с DOM имеет смысл в Vue, а также недостатков или возможных ошибок каждого случая, читайте Обработка краевых случаев .
Существует названное Выполнение статьи Обратного Прокси в Apache, который, кажется, решает Вашу проблему. Это даже использует тот же example.com и/app1, который Вы имеете в своем примере. Перейдите к разделу "Configuring the Proxy" для примеров о том, как использовать ProxyPassReverse.
Попытайтесь использовать коннектор AJP вместо обратного прокси. Конечно, не тривиальное изменение, но я нашел, что много кошмаров URL уходит при использовании AJP вместо обратного прокси.
Статья AskApache весьма полезна, но на практике я обнаружил, что комбинация правил перезаписи и ProxyPassReverse более гибкая. Поэтому в вашем случае я бы сделал что-то вроде этого:
<VirtualHost example>
ServerName www.example.com
ProxyPassReverse /app1/some-path/ http://internal1.example.com/some-path/
RewriteEngine On
RewriteRule /app1/(.*) http://internal1.example.com/some-path$1 [P]
...
</VirtualHost>
Мне это больше нравится, потому что это дает вам более детальный контроль над путями, которые вы проксируете для внутреннего сервера. В нашем случае мы хотели показать только часть стороннего приложения. Обратите внимание, что это не касается жестко закодированных ссылок в HTML, о которых идет речь в статье AskApache.
Также обратите внимание, что у вас может быть несколько строк ProxyPassReverse:
ProxyPassReverse / http://internal1.example.com/some-path
ProxyPassReverse / http://internal2.example.com/some-path
Я упоминаю об этом только потому, что другое стороннее приложение, которое мы проксировали отправлял перенаправления, которые не включали их внутреннее имя хоста, а просто другой порт.
В заключение,