1

Dans mes modèles i ont beaucoup de conditions liées à mes droits de l'utilisateur et les droits des produits, par exemple:angulaire un temps de liaison ng-si plusieurs conditions

<div ng-if="user.rights == 'admin' || user.rights == 'owner' || products.rights.technical"></div> 

Thoses droits ne peuvent être modifiés sans aller à une nouvelle page ... donc je pensais que je pourrais utiliser one-binding :: pour de meilleures performances.

J'ai essayé:

<div ng-if="::(user.rights == 'admin' || user.rights == 'owner' || products.rights.technical)"></div> 

et aussi:

<div ng-if="::user.rights == 'admin' || ::user.rights == 'owner' || ::products.rights.technical"></div> 

mais la condition ne semble pas fonctionner, une idée?

+0

Copie possible de [Obtenir une liaison unique à travailler pour ng-if] (http://stackoverflow.com/questions/38275954/get-one-time-binding-to-work-for-ng-if) – Groben

+0

Quelle version d'Angular utilisez-vous? La reliure à usage unique n'est disponible que depuis 1.3 – Jaydo

+0

oups, j'utilise angulaire 1.5.8 – user2283958

Répondre

1

Probablement, calculez user.rights == 'admin' || user.rights == 'owner' || products.rights.technical à la page de chargement et affectez-le à une autre variable de portée (par exemple $scope.isOwnerOrAdmin). Et puis, utilisez une liaison à sens unique pour lier cette variable à ng-if. comme: ng-if="::$scope.isOwnerOrAdmin".

+0

humm vous pourriez avoir raison mais j'ai beaucoup de possibilités différentes, selon la page que je ne vérifie pas pour la même droite – user2283958