3

Я работаю над угловым проектом, и мне нужно скрыть заголовок блока только на странице входа. Я попытался скрыть заголовок на странице входа. Но это все еще не работает для меня. Можете ли вы помочь мне скрыть его при регистрации.заголовок скрыть для конкретной страницы в моем угловом

Вот мой указательный HTML

<div ng-include src="'views/header.html'" ng-hide="$state.current.name === 'login'"></div> 

    <div class=""> 
     <div ui-view></div> 
    </div> 

Вот мои app.js

var app = angular.module('Qapp', ["ui.router", "ngRoute"]) 

app.config(function($stateProvider, $urlRouterProvider) { 

    //$urlRouterProvider.when('/dam', '/dam/overview'); 
    $urlRouterProvider.otherwise('/login'); 

    $stateProvider 
     .state('base', { 
     abstract: true, 
     url: '', 
     templateUrl: 'views/base.html' 
     }) 
     .state('login', { 
      url: '/login', 
      parent: 'base', 
      templateUrl: 'views/login.html', 
      controller: 'LogCt' 
     }) 
     .state('dam', { 
      url: '/dam', 
      parent: 'base', 
      templateUrl: 'views/dam.html', 
      controller: 'DamCt' 
     }) 


    }); 
+0

Совет: я бы используйте «ng-if» вместо «ng-hide» и для лучшей читаемости создайте функцию в вашем mainCtrl, например «ShowHeader()», и вы не можете напрямую обращаться к $ state в представлении, в котором вам нужен контроллер, в котором вы можете ввести $ state Provider, и вы можете получить доступ к $ state. – squadwuschel

ответ

4

У вас нет доступа к $state объекта непосредственно на HTML. Для получения доступа к нему следует поместить $state объект с $scope/$rootScope, Вы можете сделать это в run блоке/controller & использование $state.includes вместо $state.current.name

Markup

<div ng-include src="'views/header.html'" ng-hide="$state.includes('login')"> 
</div> 

Код

app.run(function($state, $rootScope){ 
    $rootScope.$state = $state; 
}) 
+1

Его работы. Спасибо за исправление :) –

+0

@BhavanKumarNatarajan Рад помочь вам, спасибо;) –

 Смежные вопросы

  • Нет связанных вопросов^_^