Kończę moją aplikację, która jest forum i potrzebuję użytkowników, aby móc usuwać własne tematy.
Tak więc w moim szablonie „Lista tematów” pomyślnie wyrenderowałem następujący kod:
<body ng-app>
[...]
<button ng-show="estudante == "admin""></button>
[...]
Z:
<button ng-show="{{ request.user.username }}=="{{ topic.creator }}"">Remover Tópico</button>
Ten przycisk nie powinien być wyświetlany, jeśli wartości topic.creator i request.user.username nie są równe. Jednak poprawnie skonfigurowane ng-if, ng-hide i ng-show nie mają żadnego efektu.
Czy istnieje sposób, aby to zadziałało? Czy brakuje mi czegoś na temat zakresu? :)
Z góry dziękuję!
AKTUALIZACJA:
Użycie „” w obu wartościach lub brak jest takie samo. Przycisk jest wyświetlany, jeśli wartość jest niezgodna:
Odpowiedzi:
0 dla odpowiedzi № 1Zazwyczaj nie potrzebujesz nawiasów klamrowych wokół zmiennej, takich jak {{xxx}} w tym przypadku. A także „” można usunąć, może to działa po ich usunięciu.
<button ng-show="request.user.username == topic.creator">Remover Tópico</button>
0 dla odpowiedzi nr 2
Spróbuj tego:
<button ng-show="request.user.username == topic.creator">Remover Tópico</button>
W kontrolerze powinieneś mieć przypisane wartości, które chcesz porównać, do $ scope mniej więcej tak:
$scope.request.user.username = "some name";
$scope.topic.creator = "some name";
0 dla odpowiedzi № 3
<button ng-show="reqeust.user.role === "admin" && user.username === topic.crator">Remover Tópico</button>
myślę, że to rozwiązuje ten problem, ale sprawdź kod.