問題タブ [angular2-services]

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.

0 投票する
2 に答える
2065 参照

json - Angular2 HTTP プロバイダー、Amcharts の JSON から文字列を取得

これは少し厄介な質問です。amCharts について質問しているように見えますが、HTTP リクエストから配列を抽出し、それを変数に変換してサードパーティの javacript に配置する方法を理解しようとしています。

AmCharts サポートが親切に回答してくれた この質問から、すべてはここから始まります。

plnkerからわかるように。チャートは機能しています。グラフのデータはハードコードされています:

これで、amCharts の部分が機能することがわかりました。ハードコーディングされたデータを json リクエストに変更して動的にできるようにする問題がどこにあるのかを理解してください。これはとてつもなく難しいことではないと思いますが、私の人生では、それを理解することはできないようです.

最初の問題は、.map、.subscribe、または .observable に関するドキュメントが見つからないことです。

これは、最初のものと非常によく似たプランカーですが、http プロバイダーと注入可能機能を備えています。サービスからデータを取得して AmCharts 関数に配置する方法がわからないため、壊れています。http プロバイダーからデータを取得し、NgFor を使用してテンプレートに表示する方法は知っていますが、テンプレート (ビュー) には必要ありません。ご覧のとおり、getTitle() 関数を使用して、サービスからデータを転送することに成功しています。

究極の問題は、サービスを使用してデータを取得し、そのデータを変数に変換してグラフに配置できない理由です。json が正しくフォーマットされていない可能性があるため、いくつかの手がかりが options.json にあると思われますか? 正しい変数を宣言していますか? 最後に、オブザーバブル/マップと関係があるのでしょうか?

0 投票する
1 に答える
1036 参照

javascript - es5 で angular 2 サービスを作成する

angular 2でカスタムサービスを作成しようとしていますが、es5のangular 2サービスに関するドキュメントが見つからないようです(これは私のコードを書いているものです)これを使ってみました

ただし、コンポーネントに挿入するとエラーがスローされno provider for class0 (class10 -> class0)、カスタムサービスの作成方法がわかりません。es5でこれを行う方法を知っている人はいますか?

0 投票する
1 に答える
4197 参照

angularjs - Angular 2 で配列内の各項目の合計値を取得する

シャツの配列があり、各シャツには価格があり、Angular 2 を使用してすべてのシャツの合計価格を取得したいと考えています。

これは私のデータがどのように見えるかです:

次に、コストを一緒に追加してコンポーネントに表示したいと思います。

問題は、ここで何も返さないことです。たとえ返されたとしても、新しいアイテムを一緒console.log(shirt)に追加する方法がわかりません。shirtこの質問のもう 1 つの要素は、これをコンポーネントで行うべきか、それともサービスで行うべきかということです。

編集: 私は次の変更を加えましたが、私は取得0しています。取得する必要があります40

html:

更新された ShirtComponent:

0 投票する
3 に答える
4605 参照

typescript - Angular 2 ( Ionic 2 / Angular 2 / Typescript ) でサービスにサービスを注入しながら、依存関係のパラメーターを渡す方法

typescript で ionic 2 の websocket サーバーに接続するためのサンプル アプリケーションを作成しています。レポへのリンク

私の要件は、アプリケーションの起動中に websocket 接続を確立することです

angular2-websocketを使用して接続を作成しています。

参考文献:

  1. http://blog.thoughtram.io/angular/2015/09/17/resolve-service-dependencies-in-angular-2.html

  2. http://blog.thoughtram.io/angular/2015/05/18/dependency-injection-in-angular-2.html

「'$WebSocket'(String, Array, ?) のすべてのパラメーターを解決できません」というエラーが表示されます。すべてのパラメーターが Inject で装飾されているか、有効な型注釈があり、'$WebSocket' が Injectable で装飾されていることを確認してください。 "

コード: app.ts

connection-service.ts

0 投票する
1 に答える
604 参照

angular - Observables を使用して Angular2 の戻りデータでプレーン テキスト形式を保持する方法

フォーマットされたプレーンテキスト(JSON ではない)を返す必要がある実用的な Observable があります。ブラウザーでエンドポイントを取得すると、書式設定されたプレーン テキストが正しく表示されます。元の空白と改行を表示するために Angular2 サービスに追加できるスイッチはありますか。

例: 私のhttp.service.tsファイルから:

この例が機能していないことをお詫びします。コードで達成しようとしていることを説明するために.PreservePlainTextForrmating()を作成しました。

事前にご協力いただきありがとうございます。

0 投票する
1 に答える
4764 参照

javascript - 依存関係の依存関係をエクスポートするための Angular 2 マルチプロバイダー

マルチプロバイダーを使用して、依存関係の依存関係をそれ自体と共にエクスポートしようとしているので、一度にコンポーネントに注入できます。

コンポーネントの場合

結果として

HTTP のプロバイダーがありません! (アプリ -> Foo -> HTTP)

そしてこれ

私は彼らが同様の仕事をすることを期待していますが、うまくいきます。

この場合、マルチプロバイダーの適切な使用法はありますか?

0 投票する
1 に答える
1250 参照

javascript - イベント エミッターによる Angular 2 の変更検出は、大量の CPU 時間を消費します

Angular 2 アプリをしばらく使用すると、非常に遅くなることに気付きました。

CPU 時間をプロファイリングしたところ、大量の変更検出が実行されていることがわかりました。

ページ読み込み直後の CPU プロファイル ...

ページ読み込み後の CPU プロファイル

...しばらくページを使用した後のCPUプロファイルと比較。

ページをしばらく使用した後の CPU プロファイル

EventEmitter多くのコンポーネント間で通信するために、さまざまなサービスで多くのことを使用しました。

しばらくテストした後、ウィンドウ スクロール イベントのエミッターが大きな負荷の原因になっているようです。

スクロール イベントを発行せずにページをしばらく使用した後の CPU プロファイル:

スクロールイベントを発行しないCPUプロファイル

サービスの実装は次のとおりです。

質問

  1. 変更検出呼び出しをデバッグして、それらがどこに適用されているかを確認するにはどうすればよいですか?
  2. これほど多くの変更検​​出呼び出しが発生する原因として、他に何が考えられるでしょうか?
  3. 間違った使い方をしている場合EventEmitter、どうすれば正しく使えますか?

編集 1

さらに、グリッド ツリー コンポーネントを投稿します。変更は、コンポーネントが構築する再帰的なツリー構造によって引き起こされる可能性があるためです。

結果の階層グリッド:

階層グリッド