blog

問題ノート - Angular章

プロジェクトの開発のためのAngularフレームワークの使用のために、プロセスは多かれ少なかれ、いくつかの問題、メモ帳のレコードの習慣的な使用に遭遇しているし、後で収集し、整理するので、一般的に問題の...

Nov 10, 2020 · 3 min. read
シェア

プロジェクトの開発のためのAngularフレームワークの使用として、プロセスは多かれ少なかれ、いくつかの問題が発生した、メモ帳の記録の習慣的な使用は、後で収集し、整理されたので、一般的に照合するために使用されるいくつかの、1.x〜8バージョンの問題のいくつかを含むように。

マルチ環境設定

angular 7がパッケージ化されデプロイされましたが、更新時に404の問題が発生します。

import { HashLocationStrategy,LocationStrategy } from "@angular/common";providers: [{ provide: NZ_I18N, useValue: en_US },{provide:LocationStrategy, useClass: HashLocationStrategy}],根本的な原因:同じ問題 解決方法:App.module.tsに追加 導入:Service Providerに導入 この理由:angularサイトにアクセスすると、ルートノードの後に#アンカーが自動的に追加され、404エラーを報告するために更新する問題が解決されます。

angualr 7 リクエストはクロスドメインのようです

問題: このように

根本的な原因は:クロスドメインリクエスト、クロスドメインリクエストを行うときに、ブラウザのHTTPリクエストが自動的に事前チェック要求を発行する、つまり、OPTIONSリクエストは、[サーバー]を訪問するかどうか、関連する情報を要求するドメイン名を許可するリクエストを返すようにGETまたはPOSTリクエストの後に再度発行されます、[サーバー]は、OPTIONSリクエストがない場合は別々に処理されませんが、それは暫定的なヘッダが表示され、リクエストの正常なロードを妨げる表示されます。サーバー]がOPTIONSリクエストを個別に処理しない場合、暫定的なヘッダが表示され、リクエストの正常な読み込みを妨げます。

ng update 2.0 問題と解決策

パッケージ "tslint-language-service "には、"typescript "と互換性のないピア依存関係があります。

根本的な原因: 現在のtypescriptのバージョンが低い、解決策: npm i typescript@3.2.4

セレクトタイムng-changeが動作しません

根本原因: 時間制御が ng-change を上書きする 問題解決:

  1. onchangeはフォーカスの増減と同じなので、ng-changeの代わりにng-blurを使用してください。
  2. onchange="angular.element(this).scope().xxController.xxFn()ネイティブの;

angular 5angular6へのアップグレード

angular-cliは最新バージョンで、プロジェクトはv5を使用しているので、アップグレード処理を行う必要があります:
  1. npm install -g @angular/cli
  2. npm install @angular/cli
  3. ng update @angular/cli
  4. npm install -save-dev @angular/cli@latest
  5. ng update @angular/core

angular1.6ルーティングのブロック

根本的な原因: ユーザーはURL経由でページにジャンプする権限を持っていません。

解決策: ui--router--manageステートを使ってルートコントローラを管理しているため、$stateChangeStart;

状態変更イベント

stateChangeStart - テンプレートがパースを開始するときにトリガーされ、event.preventDefault()を使用することでテンプレートのパースが発生するのを防ぐことができます。そうでない場合、ジャンプは無効になります。

angular location.serach()はURLパラメータを変更し、ページをリフレッシュすることで状態を維持します。

 // ハック "を使用して、クエリパラメータを設定するには、一時的に検索を無効にするには、falseにreloadOnSearchの状態を設定し、コントローラのリロードを防ぐ
 $state.current.reloadOnSearch = false;
 // パラメータ設定を更新する
 $location.search('orderId', vm.orderId); 
 // その後、リロードを再度有効にする。
 $timeout(function () {
 $state.current.reloadOnSearch = undefined;
 });

続く

Read next

TCPプロトコルの解釈

TCP接続では、2つの当事者だけが互いに通信します。ブロードキャストやマルチキャストはTCPでは使用できません。 注:TCPは、データが相手によって受信されることを保証するものではありません。したがって、TCPは正確には1...

Nov 10, 2020 · 3 min read