Я искал форум для проблемы, подобной моей, но не имел никакой удачи. Однако я нашел решение, которое я собираюсь рассказать.Переменная 'pathname' Проблема с ngRoute
Моя проблема в том, когда я хочу изменить свой маршрут, он не направляет меня в нужное место. Например, мой URL-адрес - www.dnndev.me/Projects/Project#/dashboard. Я попытался создать несколько ссылок, как так:
// goes to www.dnndev.me#/tasks.
<a ng-href="#/task"></a>
// same as above however what's between my {{}} is rendered blank.
<a ng-href="{{window.location.pathname}}#/task"></a>
«window.location.pathname» обеспечивает недостающую часть моего URL, но это не будет оказывать. Я думал о хранении этого в переменной, но это не показалось мне очень угловатым.
Я пробовал использовать $ location, но у него нет свойства pathname. Я столкнулся с $ location.path («путь»), и он сделал то, что мне нужно. Однако я не хотел вводить каждому контроллеру службу определения местоположения $. Немного подумав, я придумал идею о создании функции на корневой системе $ в функции запуска приложений, и она делает то, что мне нужно.
# this is written in coffeescript
run = ['$location', '$rootScope', ($location, $rootScope) ->
$rootScope.route = (path) ->
$location.path(path)
//html
<button ng-click="$root.route('task')">
</button>
Причина, по которой это необходимо, потому что «путь» является переменной. Я работаю в структуре DNN, и этот модуль можно отбросить на любом пути, таком как «www.website.com/foo/bar#/dashboard».
Есть ли лучший способ это сделать?
Спасибо.