Sono nuovo di AngularJS e vorrebbe creare funzionalità per una pagina di login simile a quello che si trova qui, quando si fa clic sul 'Password dimenticata' link:Come convertire codice jQuery in codice AngularJS utilizzabili
http://bootsnipp.com/snippets/featured/login-amp-password-reminder#comments
È meglio usare una direttiva, poiché questo è comportamentale, invece di un controller? Ho provato parecchio a creare un controller per questo, ma mentre cerco aiuto sull'argomento, trovo che usare un controller per questo non sia la strada da percorrere. Qui era mie ultime prove che non ha avuto successo (il link non fa nulla quando si fa clic):
su lato controllore in un file js:
angular.module('mean.users')
.controller('SwitcherCtrl', ['$document',
function($document) {
$document.ready(function() {
$document.getElementById('olvidado').click(function (e) {
e.preventDefault();
$document.getElementById('form-olvidado').toggle('500');
});
$document.getElementById('acceso').click(function (e) {
e.preventDefault();
$document.getElementById('form-olvidado').toggle('500');
});
});
}
])
sul lato html, ho incluso ng-Controller = "SwitcherCtrl" dove necessario.
Il jQuery e javascript viene utilizzato per effettuare la modifica dello schermo da 'account di accesso' a 'password dimenticata' quando il link è cliccato. La mia domanda riguarda quella funzionalità esatta che vedi nel link che ho fornito. L'autenticazione è separata dalla mia domanda ed è già in lavorazione. Sono stato appena bloccato a rendere il comportamento, che trovo molto pulito, che vedi nel link che ho fornito. –
Sì ignorare l'autenticazione e provare a ricostruire il login nel modo in cui questo collegamento lo ha fatto. Non dovresti avere alcun comportamento e nessuna manipolazione DOM nel controller come fai attualmente. Il controller non dovrebbe inoltre avere alcun stato, per questo motivo è necessario un factory/servizio per conservare nome utente e password. Il controller invia semplicemente i dati attraverso il repository al server. L'esempio non mostra questo, ma è un buon passo verso il modo angolare di costruire cose e non JQuery. –
Giusto, dopo aver provato a risolvere il mio problema cercando google, avevo letto che poteva appartenere a una direttiva anziché a un controller. Voglio sapere come ottenere lo stesso identico comportamento dello script jQuery, ma usando Angular. Comprendo alcune nozioni di base su come è strutturato, ma non sono riuscito a capire quale codice doveva essere nella direttiva. La tua risposta sembra più orientata verso la pagina di accesso, nel suo complesso, motivo per cui non l'ho selezionato come risposta. Temo che l'altra risposta, usando active e! Active, possa essere un modo jerry-rigged di simulare l'effetto visivo, invece di riprodurlo effettivamente. –