問題タブ [angularjs-forms]
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 - フォームコントローラーが管理するフォームから解析されたデータを公開するための最良の方法は?
私は Java のバックグラウンドを持っており、Angular 1.5.8+typescript に慣れています。
フォームから生のフィールドをクランチしてデータ構造を生成するフォームコントローラーがあります。それが行う可能性のある種類の例: 生の住所を取得し、それを標準形式に解析し、緯度と経度を検索します。
解釈されたフォーム データをアプリケーションの残りの部分に公開する最善の方法を見つけようとしています。どちらかが「許容できる」標準的な方法であるかどうかを確認したかったのです。
私が好きな方法は、フォームから完全に解析されたデータを表すクラスと、そのデータの部分的なサブセットを表すクラスの 2 つのクラスを作成することです。
データに関心のある発信者は、リアルタイムのピークまたは完全なデータ (利用可能な場合) が必要かどうかに応じて、コントローラーで getCompleteData または getIncompleteData を呼び出します。実際のフォーム フィールドとその値に関する詳細は、コントローラの外部には公開されません。
これを行うために私が考えた別の方法は、処理されたデータの各ビットにアクセスするための一連のメソッドをコントローラーに追加することでした。
方法 1:
方法 2:
この質問は、コード レビュー スタック交換に適している可能性があります。移動する必要がある場合はお知らせください。
javascript - Angular ディレクティブが ngmodel 値を null から未定義に変更すると検証が中断される
問題を説明するために plnkr を作成しました: plnkr へのリンク
問題の説明: 数値フィールドがあり、そこから値がモデルに書き込まれます。最初に、最初の入力のようにこの機能を実装しました。この実装の問題は、何かを入力してから削除すると、次のモデルになることです。
残念ながら、この表現は受け入れられません。次の結果が必要です。
そのために、ディレクティブを使用して 2 番目のフィールドを実装しました。正しい出力を受け取るようになりましたが、値を削除するとフォームが無効になります。
また、3 番目と 4 番目の入力を追加して、ディレクティブが必要な検証にも違反していることを示しました。
したがって、問題は次のとおりです。モデルを持たないように入力フィールドを改善するにはどうすればよいですか
しかし
Angular フォームの検証メカニズムを壊さないでください。
参考までに:私は次のHTMLを持っています:
そして、次のコントローラーとディレクティブ コード:
psメインプロジェクトから問題を再現するために、コードを可能な限りカットしました。解決策をいただければ幸いですが、誰かが解決策を提案できれば、それは非常にクールです。1.優れたパフォーマンスを示します2.角度のある方法で動作します。
angular - Typescript エラー タイプにプロパティが存在しません
angularjs 2 と ionic 2 は初めてです。Validators、FormControl、および FormGroup を使用して angularjs フォームを使用しています。ionic serve --lab を使用してプロジェクトを実行すると、すべてがうまくいきます。しかし、そのプロジェクトをビルドすると、エラーが発生します: プロパティ 'ユーザー名' がタイプに存在しません。
login.ts
login.html
ionic build androidコマンドを実行してapkファイルを生成するまで、すべて問題ありません。
これらのエラーが表示される理由を教えてください。
私はこのリンクも参照します: Property does not exist on type. TypeScriptですが、それは私を助けることはできません:
javascript - コントローラー読み取りコンポーネント データ
私の考えは、分離されたコンポーネントから大きなフォームを作成することです。これが私のメインテンプレートです:
およびそのコントローラー (テンプレートは ui ルート構成からコントローラーにバインドされます)
次に、ユーザー コンポーネント:
およびユーザー テンプレート:
ユーザーが送信したときにユーザーデータを読み取れるようにしたいと考えています。どうすればいいですか?
angularjs - $validator は、パスワード フォームの $setValidity を無視します
私はバリデーターを持っています
そして、別の場所から、他の何かをテストして、同じフォームの有効性を設定します
問題は、それ$setValidity
が完全に無視され、バリデーターのテストのみがフォームの有効性に適用されることです。setValidity が true で、バリデーターが false を返す場合、それは false になります。私はそれをオーバーライドして真実にしたいのですが、何か不足していますか?
これはディレクティブの完全なコードです: http://codepen.io/anon/pen/xgKmLJ