2016-05-04 11 views
0

AngularJS/Cordova/Ionicで初心者になる "Eingepasst"ボタンをクリックすると、 "Gewonnen"とは違ったロジックを持つことができます。または "Verloren"。AngularJSとCSSでボタンを選択しても全く動作しない

別のスレッドで助けられているので、私は今、 "Gewonnen"または "Verloren"または "Eingepasst"(スクリーンショット参照)のうち1つだけを選択できます。しかし、 "Eingepasst"をクリックしたとき、私は "Gewonnen"または "Verloren"をもうクリックすることができません。ここで

はHTMLコードです:

<div class="padding"> 
    <div class="button-bar"> 
     <button ng-click="round.won=true" ng-class="{'active':round.won && !adjustedYesNo}" class="button button-outline">Gewonnen</button> 
     <button ng-click="round.won=false" ng-class="{'active': !round.won && !adjustedYesNo}" class="button button-outline">Verloren</button> 
     <button ng-click="adjusted()" ng-class="adjustedYesNo?'active':''" class="button button-outline">Eingepasst</button> 
    </div> 
</div> 

そしてここでは、CSSファイルの関連部分である:

.button { 

    border-radius: 10px; 

    &.button-light { 
    color: $ci-green; 
    } 

    &.button-outline { 
    @include regular; 

    color: $ci-white; 
    border-color: $ci-white; 

    &.activated { 
     background-color: rgba($ci-white, .1); 
     border-color: $ci-white; 
    } 

    &.active { 
     border-color: $ci-white; 
     background-color: $ci-white; 
     color: $ci-green; 
    } 
    } 

は最後にJavascriptのコード:

$scope.adjusted = function (adjustedYesNo) 
{ 
    $scope.adjustedYesNo = adjustedYesNo; 
    console.log("adjusted before: ", $scope.adjustedYesNo); 
    $scope.adjustedYesNo = true; 
    console.log("adjusted afterwards: ", $scope.adjustedYesNo); 
    return $scope.adjustedYesNo; 
}  

では、ここで何をする必要がありますか?

enter image description here

答えて

1
<div class="padding"> 
    <div class="button-bar"> 
     <button ng-click="round.won=true; adjustedYesNo=false" ng-class="{'active':round.won && !adjustedYesNo}" class="button button-outline">Gewonnen</button> 
     <button ng-click="round.won=false; adjustedYesNo=false" ng-class="{'active': !round.won && !adjustedYesNo}" class="button button-outline">Verloren</button> 
     <button ng-click="adjusted()" ng-class="adjustedYesNo?'active':''" class="button button-outline">Eingepasst</button> 
    </div> 
</div> 

これを試してみてください。 GewonnenまたはVerlorenのクラスactiveを表示するには、adjustedYesNoをfalseに設定する必要があります。

+0

ありがとうございますが、これは完全には機能しません。あなたのコードでは、 "Eingepasst"の背後にあるクリックイベントが発生しますが、その色は2回目、3回目などに白に変化しません。それぞれ「Eingepasst」は「アクティブ」に設定されていません。初めてクリックしたときのみ動作します... – Joey

+0

ボタンをクリックすると、クラスをアクティブにすることができますし、色を変更することもできます。私はイオンやサスを使用してそれをテストしませんでした。このplunkを見てください:http://plnkr.co/edit/GMwHgd3JQDjuBzEJVS5M?p=preview – Saad

+0

もう一度行くことに感謝します。 – Joey

関連する問題