vue 2.6.11 と vuex 3.6.0
を使用してアプリケーションを構築しています。私が作成しているページはイベント登録用です。 API
を使用してデータベースから ActiveEvent (イベント ID、日付、場所など) を取得します。登録フォームでは、まず電子メール アドレスの入力を求められます。電子メールフィールドがぼやけたら、checkEmail() をトリガーします。これにより、1 つまたは 2 つの API 呼び出しが実行されるはずです。最初の呼び出しでは、データベースに電子メール アドレスがあるかどうかを確認し、ParticipantID を返します。存在する場合は、2 番目の呼び出しを行って、参加者が Event.EventID と ActiveUser.ParticipantID< /p> を使用したかどうかを確認します。
ロードされるページの構造は、ルーターから呼び出されるページ コンポーネント <EventDetail> です。これにはメイン コンポーネント <EventRegistration> があり、ステータスを取得する 2 つの別個のサブコンポーネント <EventRegistrationBlurb> を呼び出します。 ActiveEvent は prop として渡され、<EventRegistrationForm> は state.ActiveEvent を直接取得します。外部コンポーネント <EventRegistration> は、API からイベント データを取得し、状態を設定する役割を果たします。ActiveEvent、正常に実行されました、
私が理解できないのは、コンポーネントで checkEmail を呼び出すと、this.ActiveEvent が未定義になる理由です。宣伝文句コンポーネントはそれを正しくレンダリングしますが、ピューターコンポーネントは API を取得して状態を正しく設定しています。 ActiveEvent オブジェクトを EventRegistrationForm のテンプレートに配置すると、正しくレンダリングされますが、メソッド checkEmail()
とのバインドに設定が間に合わないだけです。子コンポーネント <EventRegistrationForm> に次のコードがあります: (ActiveEvent は外部コンポーネントによって設定され、正しく設定されていることに注意してください)
リーリーそれでは私の店で:
ああああ
いつものように、その結果、椅子とキーボードの間のインターフェースに欠陥が生じます。このページには通常、識別子 EventID を持つオブジェクトの配列であるイベント リストからアクセスします。別のイベントを呼び出す場合、識別子は単なる ID であるため、ペイロード 2 のコードは
となる必要があります。 リーリー将来のトラブルを避けるために、一貫した識別子を返すように API を更新しようと思います。無駄にしたのは約 3 時間だけです...