[解決済み] ng-model、ng-repeat、およびinputの難しさ
2022-05-18 08:50:01
質問
私は、ユーザーが項目のリストを編集できるようにしようとしています。
ngRepeat
と
ngModel
. (
このフィドルを見る
.) しかし、私が試した両方のアプローチは奇妙な動作につながります。1つはモデルを更新せず、もう1つはキーダウンのたびにフォームをぼかすのです。
私はここで何か間違ったことをしているのでしょうか? これはサポートされていない使用例なのでしょうか?
以下は、便宜上コピーした、fiddleからのコードです。
<html ng-app>
<head>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body ng-init="names = ['Sam', 'Harry', 'Sally']">
<h1>Fun with Fields and ngModel</h1>
<p>names: {{names}}</p>
<h3>Binding to each element directly:</h3>
<div ng-repeat="name in names">
Value: {{name}}
<input ng-model="name">
</div>
<p class="muted">The binding does not appear to be working: the value in the model is not changed.</p>
<h3>Indexing into the array:</h3>
<div ng-repeat="name in names">
Value: {{names[$index]}}
<input ng-model="names[$index]">
</div>
<p class="muted">Type one character, and the input field loses focus. However, the binding appears to be working correctly.</p>
</body>
</html>
どのように解決するのですか?
バインディングの問題だと思われます。
アドバイスとしては プリミティブにバインドしない .
あなたの
ngRepeat
はコレクション内の文字列を反復処理するもので、本来はオブジェクトを反復処理するものです。この問題を解決するには
<body ng-init="models = [{name:'Sam'},{name:'Harry'},{name:'Sally'}]">
<h1>Fun with Fields and ngModel</h1>
<p>names: {{models}}</p>
<h3>Binding to each element directly:</h3>
<div ng-repeat="model in models">
Value: {{model.name}}
<input ng-model="model.name">
</div>
jsfiddle http://jsfiddle.net/jaimem/rnw3u/5/
関連
-
[解決済み] AngularJS の ng-disabled ディレクティブに式を指定しても動作しない
-
[解決済み] AngularJSのng-repeatは、空のリストのケースを処理します。
-
[解決済み] controllerAs "プロパティを使用する理由は何ですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJSのng-repeatでキーと値を反復処理する方法は?
-
[解決済み] ng-classを使った複数クラスの追加
-
[解決済み] ng-modelとng-bindの違いは何ですか?
-
[解決済み] 配列上で繰り返すのではなく、定義された回数をng-repeatする方法?
-
[解決済み] ネストしたng-repeatの中で2つの$index値を渡す
-
[解決済み] `<input type="file"/>` の ng-model (ディレクティブ DEMO 付き)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angular ui-routerで$stateメソッドを$stateChangeStart toStateとfromStateで使用する。
-
[解決済み] Angular ng-repeat エラー "リピータ内の重複は許可されません。"
-
[解決済み] エラーです。[$injector:unpr] 不明なプロバイダです。ルートプロバイダ
-
[解決済み] angularjsでチャートを作成する【終了】。
-
angularjsのルーティングについて $stateと$stateParamsの話
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] Ui-srefがクリッカブルリンクを生成しない/動作しない
-
[解決済み] 入力フィールドにフォーカスを当てるには?
-
[解決済み] ng-classを使った複数クラスの追加
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?