JavaScript - Angular はブロードキャストを使用してページにジャンプしてデータを転送しますが、ジャンプ後にデータが受信されません。
高洛峰
高洛峰 2017-05-15 17:14:25
0
3
766

Angular で $broadcast と $on を使用してページにジャンプしてデータを転送していますが、ジャンプ後にデータを受信できません (ボタンをもう一度クリックした場合にのみ表示されます)
特定の要件: クリック最初のページのボタン、配列 (下の図の shopList 配列) を 2 ページ目に渡して、2 番目のページが shopList 配列を受け取ることができるようにします

最初のページ

リーリー

対応するコントローラー (メインコントローラー-親)

リーリー

2 ページ目のコントローラー (メイン コントローラーの下のサブセット)

リーリー

しかし、テスト後、2ページ目のconsole.log(data)の印刷に失敗していることが分かりましたが、再度クリックすると印刷に成功しました。これはルーティングの問題でしょうか?詳細は次のとおりです。
メインページは次のとおりです。ショッピングカートは横に隠れています。ナビゲーションバーのショッピングカートをクリックすると、右側にショッピングカートが表示されます。

始めたばかり:

ボタンをクリックすると、配列が渡されて別のページにジャンプしますが、配列は印刷されません:

「チェックアウト」ボタンをもう一度クリックすると、次のように印刷されます:

その理由は何ですか?どうやって解決すればいいでしょうか?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
世界只因有你

ui-sref="app.checkOut"を削除し、メソッド内で最初に$broadcastを実行してから、ジャンプをルーティングします。 リーリー

いいねを押す +0
大家讲道理

rootScope の下にクリック イベントを追加するのはなぜですか?ページのスコープに直接追加して確認してください。

いいねを押す +0
phpcn_u1582

$state.go はページにジャンプするときにパラメータを直接渡すことができますが、なぜ $broadcast を使用するのですか

マスターコントローラー - 親

リーリー

メインコントローラーの下のサブセット

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート