У меня есть этот код, который показывает содержимое вне 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 показывался в заголовке всякий раз, когда я нахожусь на странице часто задаваемых вопросов. Как это может быть сделано? Может кто-нибудь мне помочь? Большое спасибо.
Угловой способ сделать это - создать директиву, которая управляет DOM и скроет элемент на странице, когда маршрут находится на странице часто задаваемых вопросов. Для этого вам нужно будет увеличить объем вашего приложения, чтобы включить заголовок.
Если вы не можете этого сделать, я бы предложил просто перейти на javascript/jquery и скрыть div CompanyName, когда местоположение находится в faq. Что-то вроде этого может работать.
$(document).ready(function() {
if(location.pathname == 'faq'){
$('.companyName').css('display', 'none');
}
}
Это решение создает проблему потенциального отображения информации до того, как документ будет полностью загружен.