J'ai besoin de faire une condition qui est observée lorsque l'utilisateur n'a aucune autorité (elle n'est pas connectée), mais je dois d'abord vérifier cette autorité, donc lorsque l'utilisateur est connecté, je ne verrai pas le contenu. .
J'utilise la directive "JhihasanyAuthority" du projet JHHIPSTER. P>
<div *jhiHasAnyAuthority="''">This should appear.... when Blank is NOT logged </div>
3 Réponses :
La directive * JhihasanyAuthority que vous utilisez fait partie du projet JOHSETER. p>
Son code source peut être trouvé sur https://github.com/jhencher/jhipster-sample-app-ng2/blob/master/src/main/webapp/app/shared/authe/appr/shared/authe/appr/shared/auth / a-tout-aucun autorité.directive.ts p>
Si vous regardez le code source, vous verrez qu'il ne prend pas en charge un test négatif, et je suppose que la vérification de «hasanyauthority» pour une chaîne d'autorité vide ou null n'est pas la même chose que Vérifier que l'utilisateur n'a aucune autorité. P>
Donc, il semble que vous ne puissiez pas utiliser cette directive pour tester l'absence d'autorité, la directive ne semble pas non plus supporter une syntaxe if / sinon comme * NGIF. P>
Je pense que le seul moyen de faire ce que vous voulez, c'est écrire soit écrire une directive personnalisée basée sur * JhihasanyAuthority, ou modifier la * JhihasanyAuthority pour ajouter le comportement souhaité. P>
Dans les deux cas, si vous le souhaitez, il serait agréable de soumettre une demande de traction au projet JOHHERSSTER. P>
has-no-not-autorité.directive.ts code> in app \ partagé \ auth code>: li>
xxx pré>
- Mettez à jour le fichier
partage.module.ts code> fichier dans app \ partagé code>: li>
OL>
import { NgModule } from '@angular/core';
import { YourAppSharedLibsModule } from './shared-libs.module';
import { FindLanguageFromKeyPipe } from './language/find-language-from-key.pipe';
import { JhiAlertComponent } from './alert/alert.component';
import { JhiAlertErrorComponent } from './alert/alert-error.component';
import { JhiLoginModalComponent } from './login/login.component';
import { HasAnyAuthorityDirective } from './auth/has-any-authority.directive';
import { HasNotAuthorityDirective } from './auth/has-not-authority.directive';
@NgModule({
imports: [YourAppSharedLibsModule],
declarations: [FindLanguageFromKeyPipe, JhiAlertComponent, JhiAlertErrorComponent, JhiLoginModalComponent, HasAnyAuthorityDirective, HasNotAuthorityDirective],
entryComponents: [JhiLoginModalComponent],
exports: [
YourAppSharedLibsModule,
FindLanguageFromKeyPipe,
JhiAlertComponent,
JhiAlertErrorComponent,
JhiLoginModalComponent,
HasAnyAuthorityDirective,
HasNotAuthorityDirective
]
})
export class YourAppSharedModule {}
Vous auriez pu essayer de cette façon!
<div *jhiHasAnyAuthority="[]">This should appear... for No_Authority! </div>
Je suis un peu confus, pourquoi ne voudriez-vous pas simplement vérifier avec une fonction normale et le retourner au modèle NG? Vous pouvez utiliser NG-Switch entre Admin \ User \ Not connecté.
Vous n'avez pas mentionné que vous utilisez Jhhipster et que la directive JhihasanyAuthority provient de ce projet. J'ai édité votre question en conséquence.
Et ummm ... Comment
ngif code> est associé à votre numéro?