У меня есть быстрый вопрос о маршрутизации маршрута по специальной директиве. Я настроил диспетчер меню и установил функцию связи. Все в этой функции работает правильно, но настройка URL-адреса через $location.path
не делает. Даже после использования $rootScope.apply
он не изменяется.Угловая дорожка не меняется, даже после применения
define([
'../module',
'../namespace'
],
function (module, namespace) {
module.directive(namespace + '.menubarDirective', function ($location, $rootScope) {
return {
restrict: 'EA',
replace: 'true',
templateUrl: 'scripts/app/menubar/views/menubar.html',
scope: {},
controller: function() {
},
link: function (scope, element, attrs) {
$("#menubarStoreButton").click(function() {
$('.active').removeClass('active');
$(this).addClass('active');
$location.path('/store');
$rootScope.$apply();
})
}
}
});
});
Чтобы было ясно, я использую requirejs
и $ расположение и $rootScope
определены. Странно, $location.path()
перед заменой дает пустой путь. Кроме того, размещение класса «активно» работает по назначению.
Спасибо.
после попытки этого, я получаю ошибка в том, что $ timeout не определен. – user3197307
введите $ timeout в свою директиву, где вы ввели $ location – Disha
Извините, я чувствую себя очень немым прямо сейчас. Я забыл объявить $ timeout в качестве параметра. теперь он работает по назначению! – user3197307