問題タブ [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.
typescript - Http.get で json 値を取得する
Angular2 で小さな例を作成しようとしていました。私がやっていることは、ボタンをクリックすると、パブリック API にアクセスして引用符が表示されますが、値が表示されず、エラーが発生することです。
[{{quote.contents.quotes.quote}} in App@4:20] で未定義のプロパティ 'quotes' を読み取れません
私のComponent.ts
私のboot.ts
索引.html
サービスのサブスクライブから値を取得してテンプレートに入れるにはどうすればよいですか?
javascript - Angular2: http.get レスポンスから配列要素を抽出する
Angular2 はとても楽しいです。(皮肉の終わり)
この特定のプランカーは、配列から特定の要素を抽出することに成功し、それを templateUrl に表示することができます。一般的に言えば、テンプレートにデータを表示するのは本当に簡単です。
残念ながら、それは私の問題ではありません。私がする必要があるのは、dataService / Injectable から値を取得し、それを変数に変換してから、その変数をチャート プログラムに渡すことです。基本的に、次のようなものが必要です。
console.log(last);
次に、この質問で説明したように、変数を取り、chartData に渡します。そのため、json からこの応答をキャプチャして変数に変換する必要があります。これはそれほど難しくないと思いますか?
typescript - 宣言を TRUE に設定すると Typescript エラーが発生する
私が取り組んでいるAngular 2プロジェクトのtypescript定義を作成して、エクスポート可能なライブラリにしようとしています。
http リクエストをコンポーネントに返すいくつかのサービス設定があり、すべて次のように非常によく似ています。
次に、コンポーネントから次のように呼び出します。
typescript定義ファイルを作成できるように、tsconfigファイルで「宣言」をtrueにするまで、これはすべて正常に機能します。いくつかのサービスで次のエラーが発生し始めます。
私は問題をほとんど理解していますが、解決策がわかりません。Observable をサービスにインポートすると、技術的にはそのファイルで使用されていないため、typescript リンターはエラーをスローします。
Angular 1 から来て、これはすべてのアプリでコードを分割するために採用した同様のパラダイムでしたが、Angular 2 ではアプローチを変更する必要があるのでしょうか? 私は他の多くの Angular 2 の例を見てきましたが、それらはすべて同様の方法でそれを行っています。
typescript - サービスで使用するためにページ/グローバル変数をAngular2アプリに渡します
ここでいくつかのベストプラクティスを探しています。私の angular2 アプリは、既存のコンテンツ管理システム内に存在します。その結果、この CMS によって生成されたいくつかの「変数」(認証トークンなど) を取得し、それらを angular2 アプリ内の http 要求で使用する必要があります。
index.html ページが CMS によって表示されると、ページがブラウザーに送信される前に、CMS によって事前に解析され、一部のトークン ([ModuleContext:ModuleId]) が置き換えられます。
これが私のindex.htmlページの例です(省略):
具体的には、有効な http web.api リクエストを生成するために $.ServicesFramework が使用されます。これを、それを使用する各コンポーネントに注入できるサービスに取り込みたいと考えています。
たとえば(私はタイプスクリプトを使用しています):
1 つの問題は、typescript コンパイラが "$" などを見つけることができないというエラーをスローすることです。次のように、typescript クラス宣言の前に declare を使用して、これを強制的に機能させることができます。
質問:
これらの「グローバル」変数をキャプチャして、適切にスケーリングするアプリで使用するためのより良い方法 (存在する場合) は何ですか。
編集 - RC6 に更新
私はRC6で作業するために以下を使用しました:
typescript - Angular2 - サービスを使用してコンポーネント間でデータを共有する
コンポーネント間で Angular2 アプリに共有したいオブジェクトがあります。
最初のコンポーネントのソースは次のとおりです。
および 2 番目のコンポーネント:
そして最後に、私の小さなサービスである ConfigService:
私のデータは共有されていません.grid.component.tsでは、_configService.getConfig()
行は空のオブジェクトを返しますが、app.component.tsの直前に入力されています.
ドキュメントとチュートリアルを読みましたが、何も機能しませんでした。
何が欠けていますか?
ありがとう
解決した
私の問題は、ConfigService を 2 回注入していたことです。アプリケーションのブートストラップと、それを使用しているファイル内。
設定を削除したところproviders
、うまくいきました!
jasmine - Angular 2 で http リクエスト URL をテストする正しい方法
Angular 2 を使用して、いくつかのサービスをセットアップしました。内部の各メソッドは、次のような異なる http リクエストを返します。
この方法をテストしたいと思います。リクエスト URL、ヘッダー、およびユーザーをテストしています。私は URL 部分に少し行き詰まっています。実際の URL をテストすることはできますが、それが GET、POST などであるかどうかをテストする方法がわかりません。Angular 1 では、expectGET や expectPOST などを使用しました。これは私がこれまでにやっている方法です:
リクエストのタイプを取得する方法はありますか? それとも、私はそれを間違っていますか?
angular - Angular 2 のブートストラップ プロセス
ページの読み込み時にアプリケーションをブートストラップするために、Angular 2 でブートストラップ メソッドを呼び出す前に AJAX リクエストを作成したいと考えています。
Angular を使用してこれを行うためにリッスンできるフックはありますか? バニラのjavascript ajaxリクエストでラップできることはわかっていますが、Angular 2でこれを行う標準的な方法があると思いました.Angular 2アプリをスピンアップする前に、サーバーから構成ファイルを取得する必要があります.
typescript - Angular 2 HTTP「「AppService」のすべてのパラメーターを解決できません」
http プロバイダーをサービスにインポートしようとしましたが、次のエラーが発生します。
「AppService」(?) のすべてのパラメーターを解決できません。すべてのパラメーターが Inject で装飾されているか、有効な型注釈があり、「AppService」が Injectable で装飾されていることを確認してください。
以下にいくつかのコード スニペットを示します。
boot.ts
app.service.ts
サーバーでコントローラーを呼び出して、最終的に JSON ファイルをデータ テーブルにロードしようとしています。非常に簡単なことですが、Http モジュールをロードする方法が間違っているようです。どんな助けでも大歓迎です。