Ответ 1
Проверьте ng-href, это именно то, что вы ищете. http://docs.angularjs.org/api/ng.directive:ngHref
Отметьте пример "Относительные ссылки" из http://docs.angularjs.org/guide/dev_guide.services.$location
В настоящее время я обрабатываю ссылки таким образом:
<a ng-click="goToLink('/foo')">foo</a>
$scope.goToLink = function(url) {
$location.path(url)
}
потому что если я делаю
<a ng-href="/foo">foo</a>
страница, конечно, перезагружается (и получает 404), потому что это должно быть что-то вроде:
<a ng-href="#/foo">foo</a>
Есть ли какая-либо директива или что-то для определения ссылок, которые являются "агностиками html5", так что мне не нужно помещать хэштегов в каждую ссылку?
Что-то вроде
<a ng-smart-href="/foo">foo</a>.
Проверьте ng-href, это именно то, что вы ищете. http://docs.angularjs.org/api/ng.directive:ngHref
Отметьте пример "Относительные ссылки" из http://docs.angularjs.org/guide/dev_guide.services.$location
В режиме HTML5 переписывает <a href="/foo">link to foo</a>
в режим хеширования, если в устаревшем браузере:
См. документацию по этому вопросу: Использование $location, переписывание HTML-ссылок.