Wechat アプレットの画像アップロード エラー
- 問題の背景
最近、WeChat ミニプログラムのショートビデオプロジェクトを開発しており、現在ユーザー センター モジュールに開発中ですが、アバターのアップロード機能を実装すると、アバターは正常にアップロードされますが、正常に表示できません
。ReferenceError:that is not defined
-
問題の原因:
この問題は非常に単純で、WeChat アプレットで ajax リクエストを送信するときに、内部関数が外部関数に直接アクセスできない場合があります。これは、内部関数で、このコンテキストが変更されたためです。この問題を解決する一般的な方法は、アロー関数 (アロー関数) を使用することです。アロー関数はこのコンテキストを変更しません。アロー関数を使用して ajax リクエストのコールバック関数を定義すると、コールバック関数が外部の this にアクセスできるようになります。これは JS の問題です (Vue にもこの問題があります)。すぐに気づかない場合は、記録して記憶を深め、または私のように忘れてしまった人に思い出させてください
-
問題が解決しました
グローバル変数を外部で定義し、そのグローバル変数に外部の this 参照を割り当てると、変更に正常にアクセスでき、
画像が正常にアップロードされて表示されることがわかります。