Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Login em Partial Separado

Olá a Todos,

Estou tendo o seguinte problema, após diversas pesquisas na Web não consegui encontrar uma solução esclarecedora, se puderem me ajudar, eu agradeço!

Quero simplesmente separar a tela de login, para que ela não saia com o layout que eu montei na index.html.

Eu adicionei minha tela de login como você vê abaixo, na pasta partials

        <div class="form-box" id="login-box">
            <div class="header"><strong>Meu</strong> Login</div>
            <form ng-submit="autenticar()">
                <div class="body bg-gray">
                    <div class="form-group">
                        <input type="text" name="userid" class="form-control" placeholder="Usuário" ng-model="usuario.login"/>
                    </div>
                    <div class="form-group">
                        <input type="password" name="password" class="form-control" placeholder="Senha" ng-model="usuario.senha"/>
                    </div>          
                    <div class="form-group">
                        <input type="checkbox" name="remember_me"/> Lembrar-me
                    </div>
                </div>
                <div class="footer">                                                               
                    <button type="submit" class="btn bg-olive btn-block">Entrar</button>  
                    <p class="alert-danger">{{mensagem}}</p>  
                    <p><a href="#">Esqueci minha senha</a></p>

                    <a href="register.html" class="text-center">Cadastre-se</a>
                </div>
            </form>
        </div>

Mas quando carregamos ela, através das tags :

<ng-view></ng-view>

ele joga o login dentro da minha dashboard, o que eu quero é um layout diferente no meu login e um diferente em meu index, onde eu utilizo o SPA.

Como vocês fariam em uma situação dessas ?

Obrigado!

9 respostas

Deixa eu ver se entendi. Você tem um SPA que possui seu estilo e tals, mas a página de LOGIN você não quer exibir dentro de <ng-view> da sua aplicação, certo? Não quer exibir porque ela tem outros estilos e tals. É isso?

Isso mesmo Flavio, minha tela de login tem um layout diferente do meu painel, algo normal nos sistemas onde sempre temos a tela de login primeiro e após fazer o login caímos na dashboard.

O meu problema é que não consigo separar ela da SPA, ou seja, aparece um menu a esquerda com todos os acessos e no conteúdo traz meu login e senha.

Não está acontecendo de antes vir a senha e depois cair no home da dashboard.

solução!

Alan, eu entendi o que você quer fazer, mas como você esta criando uma SPA (Single Page Application) que é uma página que não recarrega durante seu uso você só pode mostrar parciais através da index.html. Assim, em um primeiro momento, isso que você quer fazer não faz sentido algum (mas eu entendi o que você quer fazer).

Contudo, vou te dar uma luz do que você pode fazer. Você sabe colocar um elemento visível ou invisível em angular com ng-if ou ng-hide e ng-show, certo? Então, deixa a barra lateral visível só quando o usuário se logar. Aguarda a info em algum lugar e consulta na barra lateral para saber se ela fica visível ou invisível.

Entendi Flávio, vou fazer com ng-hide, mas por curiosidade, no seu caso, se você fosse montar um sistema utilizando angular, como ficaria a tela de login ?

Do jeito que acabei de lhe dizer :)

Certo Flávio, fazendo com Ng-Hide ate que ele some com os componentes que desejo, mas as outras divs se comportam como se ele estivesse ali ainda.

É como se ele ficasse só transparente, não saindo realmente, sendo assim as outras divs não ficam centralizados da forma correta. Estou tentando achar uma forma pra acertar, corrigindo eu atualizo aqui.

Hum, entendi. Tenta com ng-if.

Era somente uma div que eu precisava colocar dentro do ng-view, assim a tela se comportou da forma adequada. Funcionando com ng-hide.

Obrigado Flávio!

Perfeito! Agora é só continuar estudando e praticando!