問題タブ [angularjs-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - Angular で空白の入力をモデルにバインドする方法は?
簡単な Angular の例を次に示します。
上記は、Angular の基本的な機能であるモデルに入力をバインドする方法を示しています。
また、ユーザーは、入力内容を含むモーダル ダイアログをポップアップすることもできます。入力が空白のままになっている場合を除いて、これは正常に機能します。
その場合、「未定義」と表示されます。
もちろん、モデルの初期値を空白文字列に設定するコード行を単純に書くこともできますが、実際のアプリケーションでは多くの入力があり、ユーザーは任意の数の入力を残す可能性があるため、これは特に実用的ではありません。それらは空白です。
要するに、空白の入力にはモデルに空白の文字列が含まれている必要があることを Angular が認識できるようにする方法を知りたいのです。
angularjs - AngularJS ngModelOptions updateOn 'submit' validateOn 'default'
ngModelOptions を使用するときに検証をトリガーする方法はありますか? 私のユースケースは、送信時に ngModel を更新するすべてのフィールドを持つフォームを持つことです (ユーザーが [キャンセル] ボタンをクリックしたときにフォーム全体を元に戻したいという事実のため)。これがあれば、フィールドをすぐに検証することはできません。モデルが更新されたとき、つまり onSubmit のときにフィールドが検証されます。ビルドイン ソリューションはありますか、それともカスタム実装を使用する必要がありますか?
javascript - AngularJS でプログラムによって変更されたすべての入力を強調表示します
ユーザーが編集可能なフィールドを持つフォームがあります。それらのいくつかは、(ユーザーによって編集された) $dirty になるまで、提案された値で自動的に更新されます。
ユーザーが変更されたフィールドを確認できるように、この変更をマークします (入力の境界線をフラッシュするなど)。
フォームのすべての入力に対してこれを行うにはどうすればよいですか? (約 50 入力)。
例: テキスト入力があります
- バツ
- よ
- 領域
- 周囲。
ユーザーは通常、X と Y の値を入力します。これらのフィールドに $watch を設定し、Web サービス (/calculate?x=3&y=2) を呼び出して {perimeter: 12; } を返します。面積:6}。これらの値は、面積と周長の入力で自動補完されます。これが発生した場合、これらのフィールドに CSS クラスを追加して、ユーザーが自動的に更新された場所を認識できるようにします。
$watch に CSS クラスを追加できることはわかっていますが、複数のウォッチャーがあり、すでに複雑なフォームにこのロジックを追加したくありません。プログラムで変更された入力に対して機能し、多くの入力 (フォームのディレクティブ、またはモデルではなくフォーム フィールドの入力またはウォッチャーのディレクティブ) に適用できる「onchange」をどこに持つべきかという私の考え。
javascript - モーダルを閉じるときに $scope コレクションを更新する
親スコープのコレクションがモーダルから保存された情報で更新されるようにする方法を見つけるのに最も苦労しています。
親にはイベントスピーカーのコレクションがあり、モーダルは 1 つのスピーカーをイベントに追加します。モーダルの [OK] ボタンをクリックすると、新しいスピーカーがページに追加されます。
データは保存され、モーダルは閉じますが、ページを更新しない限りモデルは更新されません。
スピーカーのコレクションを更新するコントローラー メソッドを次に示します。 $scope.speakers
ページ内の繰り返しオブジェクトにバインドされます。
これは、モーダルが前のメソッドを呼び出してページを更新するという約束です。
モデルが更新されないのはなぜですか?
javascript - ドロップダウンまたは入力フィールドに基づいてテーブルの行数を表示できない
「n」行のテーブルがあり、テーブルはページ分割された列であるため、デフォルトで各ページに10行を表示するように設定しています。
以下のように、各ページに表示する必要がある行数をユーザーが入力できるテキスト ボックスを含めようとしています。
コントローラーで定義しました
これは基本的にスマートなテーブルであり、過去 3 時間からこれを理解しようとしており、そこにいる皆さんからの助けを得ることを考えました.
間違った方法でやっている場合は、私を指摘してください。角度のある世界にはかなり慣れていません。
angularjs - ng-repeat で作成された入力要素を追跡およびバインドできません
これが私のテンプレートです。フォームで使用する入力要素を動的に作成しています。update()
フォームを送信すると、何もスコープにバインドされていないように見えるため、submit 要素で指定された関数には何も渡されません。ID、$index などで追跡を試みました。ユーザー入力の選択肢は、項目オブジェクトの配列プロパティとして保存する必要があります。
このようなネストされた ng-repeat を持つ要素を Angular で作成することは可能ですか、または formly などの追加のライブラリを検討する必要があります.
javascript - Angularjs MV* (MVW) ES6 を含むデザイン パターン - AngularJS
Izhaki と Artem Platonov によるデザイン パターンの理解に関するこれらの回答を読み、このアプローチについていくつか質問があります。些細なことかもしれませんが、答えが必要です。
Itzhaki による最終的な回答では、Angularjs のデザイン パターンはちょっと MVW (MODEL VIEW WHATEVER) のように思えましたが、まだ「モデル」を完全には理解していないと思います。
View(DOM) -> Controller -> Service(Application login) -> Model(like resource)
このパターンがこのように進む場合、システム全体に関するすべての情報はどこにありますか?
例: プレーヤーの数、グループの数など、「ゲーム」に関するいくつかのプロパティがあるとします。
このすべてのデータはどこにカプセル化されていますか?
es6 JS では、独自のプロパティを持つ Game というクラスを作成することを考えていました。
このクラスはどこに配置すればよいですか?