Я создаю визуализации SVG с помощью D3.js в приложении Ember-cli. SVG используют фильтры и маркеры, доступ к которым осуществляется через атрибут id:
<svg>
<defs>
<filter id="filterId">
...
</filter>
</defs>
<g>
<g class="nodes">
<circle filter="url(#filterId)" ...></circle>
</g>
</g>
</svg>
Это прекрасно работает на индексной странице (url:), но не работает при переходе на другие маршруты (например: \otherRoute). Это будет работать на другом маршруте, если я изменю круг на
<circle filter="url(./otherRoute#filterId)" ...></circle>
Но затем он ломается на индексе и на всех других страницах.
Я могу исправить это, вручную добавляя URL-адрес к #filterId при создании элементов svg на каждом маршруте или используя хеш-местоположение в ember-cli (который использует /#routeUrl вместо /routeUrl), но мне было интересно, существует ли общий способ автоматически связать текущий URL-адрес, чтобы я все еще мог использовать API истории?