2017-07-10 10 views
0

AngularJSでボタンリストのユーザークリックが複数回繰り返されるボタンがありますか?angularjsのボタンを複数回クリックしないようにしますか?

+0

あなたは再びそのボタン – Dixit

+0

先生を有効にすることができ、いくつかの応答の後に、ボタンのクリック時にボタンを無効にすることができますどのように応答した後、再度有効にするには教えてください? –

答えて

1

プロパティを設定してngClickにチェックするか、buttonsng-disabledプロパティを使用することができます。アンカーを無効にすることはできません。

<button 
    ng-click="!isButtonClicked && (isButtonClicked=true) && clickButton()" 
>Click Me Once</button> 

<button 
    ng-click="(isButtonClicked=true) && clickButton()" 
    ng-disabled="isButtonClicked" 
>Click Me Once</button> 

またはインスタントは$scopeプロパティを使用して確認すると、「無効」からUIを取得するために両方を行います。 SONI @kapil

<button 
    ng-click="!isButtonClicked && (isButtonClicked=true) && clickButton()" 
    ng-disabled="isButtonClicked" 
>Click Me Once</button> 
+0

I(そして地球上のすべてのAngularデベロッパー)は過去にこのアプローチを試みてきました。問題は、十分に速く動作しないことです。十分に速くクリックすると、ボタンが無効になる前に2回目のクリックが登録されます。 –

+0

その場合、 '$ digest'サイクルの後に' clickButton() '関数内でチェックしてください。あなたは$ timeout()でラップすることができますが、おそらく最も簡単な方法です。 – doublesharp

+0

しかし、最初のメソッドは多かれ少なかれ瞬時でなければなりません。単に '$ scope'にプロパティを設定するだけで、DOMを更新する必要はありません。 – doublesharp

関連する問題