Как скрыть элемент вне ng-контроллера от контроллера js в угловых?

0

У меня есть этот код, который показывает содержимое вне ng-контроллера.

HTML

<div class="btn-group companyName">
    <!-- buttons -->
</div>

<div class="col-lg-12 col-lg-md-12 col-sm-12" ng-controller="TopicsCtrl">
    <div class="faq-breadcrumbs">
        <!-- contents -->
    </div>
</div>

JS

angular.module('sample').controller('TopicsCtrl', function ($scope) {
    //how to hide first div?
};

Верхний div находится внутри заголовка сайта, поэтому он отображается на всех страницах сайта. Второй div отображается только в том случае, если я нахожусь на странице часто задаваемых вопросов. Теперь я не хочу, чтобы первый div показывался в заголовке всякий раз, когда я нахожусь на странице часто задаваемых вопросов. Как это может быть сделано? Может кто-нибудь мне помочь? Большое спасибо.

1 ответ

1
Лучший ответ

Угловой способ сделать это - создать директиву, которая управляет DOM и скроет элемент на странице, когда маршрут находится на странице часто задаваемых вопросов. Для этого вам нужно будет увеличить объем вашего приложения, чтобы включить заголовок.

Если вы не можете этого сделать, я бы предложил просто перейти на javascript/jquery и скрыть div CompanyName, когда местоположение находится в faq. Что-то вроде этого может работать.

$(document).ready(function() {
    if(location.pathname == 'faq'){
        $('.companyName').css('display', 'none');
    }
}

Это решение создает проблему потенциального отображения информации до того, как документ будет полностью загружен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню