2016-05-14 2 views
2

私は角変数がtrueまたはfalseとして返す値に基づいて、ボタンまたはアンカータグの値を表示しようとしています。ここにそれの抜粋です。AngularJSでボタンやアンカータグの値を表示する方法は?

<a href="#" id="verify">{{userInformation.value}}</a> 

userInformation.value true/falseを返します。今私が望むのは、角度が返すものに基づいてボタン要素の特定の値を表示することです。以下のような

何か:

<a href="#" id="verify">{{userInformation.value === true ? displaysomething : displaysomethingelse}}</a> 

任意の提案は、大きな助けになるでしょう。

+0

[NG-場合](https://docs.angularjs.org/api/ng/directive/ngIf) – GeekRiky

+0

?角度表現の三項を使うことができます – charlietfl

+0

それは動作しません、何も返されません –

答えて

0

あなたが代わりにやってのこの

<a href="#" id="verify">{{userInformation.value ? 'Hello': 'Hi'}}</a> 
0

を試すことができNG-あれば、あなたのために何を表示することを決定するだろう、コントローラ内の関数を作成することを検討。これにより、ビジネスロジックをコントローラやテンプレートから守ることができ、ユニットテストが可能になります(一般的には良いアイデアです)。また、値の2つ以上の条件(たとえば、true/false以上のチェックが必要な場合など)ではオープンされています。ここでは例:コード示すと間違っている何

あなたが使用することができます

angular.module('myApp', []) 
 

 
.controller('MainController', function() { 
 

 
    // initial user info object 
 
    this.userInformation = { 
 
    value: true 
 
    }; 
 

 

 
    // swap values for demo purpose 
 
    this.swapValue = function(obj) { 
 
    obj.value = !obj.value; 
 
    }; 
 

 
    // logic for display lives here 
 
    this.getUserInfoDisplay = function(userInfo) { 
 
    if (userInfo.value) { 
 
     return 'Display something'; 
 
    } else { 
 
     return 'Display something else'; 
 
    } 
 
    }; 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<!-- Controller as syntax --> 
 
<div ng-app="myApp" ng-controller="MainController as ctrl"> 
 
    <a href="#">{{ctrl.getUserInfoDisplay(ctrl.userInformation)}}</a> 
 
    <br /> 
 
    <button ng-click="ctrl.swapValue(ctrl.userInformation)"> 
 
    Swap Value 
 
    </button> 
 
</div>

+0

私は変数を返すだけで、それをクリックすることに基づいてこれらを表示しようとしています。値をtrue/falseに変更するには、そのボタンをクリックする必要はありません。 –

+0

このボタンは、値の変更がコントローラメソッドからどのように駆動されるかを示すだけのものでした。明らかにあなたのデータは他の場所に設定されます。 – Patrick

関連する問題