問題タブ [ngoninit]
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.
angular - Angular 4: ngOnInit() メソッドの下で、フォーム要素の値を取得できません。「get」は未定義のエラーが発生しています
説明:
Angular 4、Reactive Approach、バリデーター関数を作成し、その関数を ngOnInit() メソッドの下に渡すことでフィールド値を比較しようとしています。
以下のコードを見つけてください。
上記のコードでは、コントロール値とパスワード値を比較する「checkPassword」バリデータ関数を作成しました。この関数を ngOnInit() メソッドの下でバリデータ関数の一部としてフィールド 'cnfpwd' に渡すと、実行時に以下のエラーが発生します。
解決策が見つかりません。解決策を教えてください。ありがとう。
angular - サービスから md-select 入力を設定する
アプリの設定部分に「サービス」があります。Firebase にデータをプッシュします。別のコンポーネントには、同じデータを読み取る「md-select」を含むフォームがあります。問題は、リストを初期化できないことです。コンポーネントが出てきて戻ってくると、すべてが正しく機能します。期待どおりにリストが表示されます。
これは設定部分の私のサービスです。
およびコンポーネント:
ngOnit 部分でリストを呼び出しても機能しないのはなぜですか? ありがとう
angular - 現在のコンポーネントのリロードを引き起こす ngOnInit() および後続のフックからのリダイレクト
提供されたパラメーターに基づいて、ngOnInit()、ngAfterViewInit() などのフックの 1 つから新しいコンポーネントにリダイレクトしようとしています。ルーターのナビゲート行がヒットすると、現在のコンポーネントが複数回実行されます。
働いた解決策:
メインモジュール:
ルート: http://localhost:4200/#/referrer/vehicle1/referrer1
リファラー コンポーネント:
これは、リダイレクトが実際に発生した場合にのみ発生するため、re route (ライフサイクル) を正確にどこに配置すればよいかわかりません。
angular - タブの子コンポーネントに入力があるフォームに reactivate バリデータを追加する
各子コンポーネントに 1 つずつ、2 つの入力を持つ (親に) フォームを作成しました (各コンポーネントは ngbootstrap タブにあります)。フォームグループを各子コンポーネントに渡し、バリデーターを各コンポーネントの ngOnInit でフォームグループに追加します。
各コンポーネントの ngOnInit は、クリックしてタブを表示した後にのみ実行されることがわかりました。つまり、フォーム全体の有効性は、各タブを表示するまで決定できません (入力が無効な状態で開始された場合)。
これを処理する正しい方法は何ですか? タブが表示されるまでフォームコンポーネントが作成されないため、親にバリデーターを追加できません。
angular - ngOnInit にバリデーターを追加すると、ExpressionChangedAfterItHasBeenCheckedError が発生する
入力にカスタム バリデータを追加しようとしていますが、そうすると、何かが TRUE から FALSE に変更されたことを示す ExpressionChangedAfterItHasBeenCheckedError エラーが発生します。
問題を以下の行までたどりました。
TabValidator.ipaddress() を削除すると、エラーは消えます。同様に、バリデーターが「null」を強制的に返すと、エラーはなくなります。私のバリデーターは次のとおりです。
コンソール ログから、バリデータが毎回同じ値を返しているように見えます。
誰かがここで何がうまくいかないのか説明できますか? 上記の行にはブール値が含まれていないため、どの変数が「true」から「false」に変化しているのか説明できません。バリデーターがコンソール ログに表示されずに異なる値を返すにはどうすればよいですか?
私は ngOnInit で何かをしないことについて SO の質問を 1 つ読みましたが、それは赤いニシンのようです。
更新:試しました:
そしてまた
しかし、エラーは次のように変わります:
エラー エラー: 次の名前のコントロールが見つかりません: 'gateway'
解決:
これをバグにまでたどりました-リアクティブフォーム+バリデーター+ ngbタブの使用。タブのコントロールにバリデーターを追加すると、エラーが発生します。唯一の解決策は、テンプレート フォームに変更することです。