tekst przycisku przełączania w oparciu o wartości logicznej w modelu kątowe

głosy
19

co jest prostym sposobem na zmianę tekstu w elemencie przycisk w oparciu o wartości logicznej?

pseudo kod:

<button> some text OR some other text    </button>

Czytam to: angularjs if-then-else konstrukcję ekspresji

i to w odniesieniu ng przełącznik: http://docs.angularjs.org/api/ng.directive:ngSwitch

nie wydaje się działać w oparciu o wartość bool od modelu

Utwórz 29/01/2014 o 17:06
źródło użytkownik
W innych językach...                            


5 odpowiedzi

głosy
12

Myślę, że to zależy od tego, co tekst jest to, że starają się pokazać. Jeśli masz kontrolę nad tym, co tekst jest w sterowniku, można powiązać tekst do zmiennej zakres i ustawić go w sterowniku, dzięki czemu nie trzeba umieszczać żadnych logikę w widoku. Coś jak:

<button>`someScopeVarWithYourString`</button>

W przeciwnym razie, można użyć ng-IF lub NG-show na warunku logicznego.

<button ng-show="someBoolValue">some text</button>
<button ng-show="!someBoolValue">some other text</button>
Odpowiedział 29/01/2014 o 17:11
źródło użytkownik

głosy
50

Należy używać tak:

<button> {{ cond_vall == true ? 'Case 1' : 'Case 2' }}</button>
Odpowiedział 16/12/2014 o 06:40
źródło użytkownik

głosy
7

Ponieważ musiałem użyć filtru (tłumacz filtr) w tekście na przycisku, następuje rozwiązanie pracował dla mnie najlepsze:

<button>
    <span> {{ condition === true ? "{{ 'some_text' | translate}}" : "{{ 'some_Other_text' | translate}}"</span>
</button>
Odpowiedział 02/08/2016 o 12:48
źródło użytkownik

głosy
2

Nie wystarczy rep edytować lub komentować, dodatki do @ odpowiedź Tonio'S (wich nie działa dla mnie) To jest poprawne, jeśli chcesz tłumaczenie:

<button>
    <span> {{ condition ? 'some_text' : 'some_Other_text' | translate }}</span>
</button>
Odpowiedział 26/04/2017 o 14:15
źródło użytkownik

głosy
0
<div ng-app="myModule">
  <div ng-controller="myController">
    `message` <br />
    <button ng-click="changeMessage(message)">Change Message</button>
  </div>
</div>

var module = angular.module("myModule", []);
module.controller("myController", function($scope) {
$scope.message = "Hello World";
  $scope.changeMessage = function(value) {
  if(value==="Hello World"){
  $scope.message = "Hello Universe!";
  }else{
    $scope.message = "Hello World";
  }

  };
});
Odpowiedział 14/05/2018 o 06:03
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more