angular:根据模型中的布尔值切换按钮文本

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 的来源 发布者: 2014 年 1 月 29 日

回应 (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