Вопрос:

угловой: переключить текст кнопки на основе логического значения в модели

javascript angularjs angular

28985 просмотра

5 ответа

3046 Репутация автора

что такое простой способ изменить текст в элемент кнопки на основе логического значения?

псевдокод:

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

Я прочитал это: Angularjs if-then-else конструкция в выражении

и это касается ng-switch: http://docs.angularjs.org/api/ng.directive:ngSwitch

ни одна из них не работает с использованием значения bool из модели

Автор: CodeToad Источник Размещён: 29.01.2014 07:06

Ответы (5)


13 плюса

2779 Репутация автора

Я думаю, это зависит от того, что текст, который вы пытаетесь показать. Если у вас есть контроль над текстом в контроллере, вы можете привязать текст к переменной области видимости и установить его в контроллере, чтобы вам не приходилось вводить какую-либо логику в представление. Что-то вроде:

<button>{{someScopeVarWithYourString}}</button>

В противном случае вы можете использовать ng-if или ng-show в логическом состоянии.

<button ng-show="someBoolValue">some text</button>
<button ng-show="!someBoolValue">some other text</button>
Автор: BoxerBucks Размещён: 29.01.2014 07:11

57 плюса

1571 Репутация автора

Решение

Должен использоваться так:

<button> {{ cond_vall == true ? 'Case 1' : 'Case 2' }}</button>
Автор: RockOnGom Размещён: 16.12.2014 08:40

8 плюса

583 Репутация автора

Поскольку мне нужно было использовать фильтр (переводить фильтр) для текста кнопки, следующее решение работало лучше всего для меня:

<button>
    <span> {{ condition ? 'some_text' : 'some_Other_text' | translate }}"</span>
</button>
Автор: Tonio Размещён: 02.08.2016 01:48

2 плюса

59 Репутация автора

Не хватает репутации для редактирования или комментариев, добавлений к ответу @ Tonio (который не работает для меня) Это правильно, если вы хотите перевода:

<button>
    <span> {{ condition ? 'some_text' : 'some_Other_text' | translate }}</span>
</button>
Автор: user2235494 Размещён: 26.04.2017 03:15

0 плюса

1 Репутация автора

<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";
  }

  };
});
Автор: swetha T.M Размещён: 14.05.2018 07:03
Вопросы из категории :
32x32