私はAngular(1.3.10)を使用することを学んでいます。カードのハンドのスーツと値を指定する2つの入力フィールドがあります。下の画像からわかるように、スーツとバリューをハードコードしようとすると、カードが正常に表示されます(右側に1枚)。しかし、それをバインドするためにng-modelを使用すると、ブラウザによって取り込まれても、card_valueは正しく表示されません。私は間違って何をしていますか?ng-bindingは動作しませんが、ng-modelが動作します
<div ng-app = "cards">
<form>
<div>
<input ng-model = "card_value">
<span>of</span>
<input ng-model = "card_suit">
</div>
</form>
<div>
<p>Entered: {{card_value}} of {{card_suit}}</p>
<!-- card.value is not binding up perfectly fine -->
<card value = "{{card_value}}" suit = "{{card_suit}}"></card>
<!-- -->
<!-- this shows up perfectly fine -->
<card value = "5" suit = "Clubs" ></card>
<!-- -->
</div>
</div>
クロームインスペクタ:NG-結合が失敗した場所を強調表示されている部分があり、5
'this.pips'を使用する必要があり、フォーム要素の内側に置かれることを意図されており、双方向のデータは を結合しているが、一度ディレクティブinitの、決して割り当てられ、後で修正されました。バインディングを動作させるには、 'this.getPip = getPip'とし、テンプレートの' card.pip'を 'card.getPip()'に置き換えてください(これはthis.displayにも同じです)。良いことは、バインディングが機能することです。悪い点は、バインディングを効率的に計算できないため、無限のダイジェストが発生する可能性があることです。いずれにしても、各ピップにng-repeatを使用すると、すぐにパフォーマンスが低下します。これがデモであればOKですが、実際のアプリでは、外観とパフォーマンスの両方にプレマイド画像を使用することができます。 – estus
@estusもし私があらかじめ作られた画像を使うなら、私は52のif文で終わるつもりです。より良い方法が必要です –
@estusあなたのソリューションをコードに入れてもらえますか?それは少し難しいです。 –