タグ付けされた質問 「typescript」

TypeScriptは、Microsoftによって作成された静的に型指定されたJavaScriptのスーパーセットであり、オプションの型、クラス、インターフェイス、列挙型、ジェネリックス、async / await、およびその他の多くの機能を追加し、プレーンJavaScriptにコンパイルします。このタグは、TypeScriptに固有の質問用です。一般的なJavaScriptの質問には使用されません。

3
Typescriptエクスポートとデフォルトエクスポート
間の活字体の違いは何であるexportとはdefault export。すべてのチュートリアルで、人々exportがクラスを使用していることを確認していますdefault。エクスポートする前にキーワードを追加しないと、コードをコンパイルできません。 また、公式のtypescriptドキュメントでデフォルトのエクスポートキーワードの痕跡を見つけることができませんでした。 export class MyClass { collection = [1,2,3]; } コンパイルしません。だが: export default class MyClass { collection = [1,2,3]; } します。 エラーは: error TS1192: Module '"src/app/MyClass"' has no default export.


13
Angularルーティングコンポーネントにデータを渡すにはどうすればよいですか?
Angular 2ルートのテンプレートの1つ(FirstComponent)にボタンがあります first.component.html <div class="button" click="routeWithData()">Pass data and route</div> 私の目標は達成することです: ボタンのクリック->他のコンポーネントをディレクティブとして使用せずに、データを保持しながら別のコンポーネントにルーティングします。 これは私が試したものです... 第一のアプローチ 同じビューで、ユーザーの操作に基づいて同じデータを収集して保存しています。 first.component.ts export class FirstComponent { constructor(private _router: Router) { } property1: number; property2: string; property3: TypeXY; // this a class, not a primitive type // here some class methods set the properties above // DOM events …

11
AngularでHTTPリクエストにURL引数(クエリ文字列)を渡す方法は?
AngularでHTTPリクエストを作成していますが、URL引数(クエリ文字列)を追加する方法がわかりません。 this.http.get(StaticSettings.BASE_URL).subscribe( (response) => this.onGetForecastResult(response.json()), (error) => this.onGetForecastError(error.json()), () => this.onGetForecastComplete() ); 今、私のStaticSettings.BASE_URLのような無クエリ文字列を含むURLのようなものです:http://atsomeplace.com/が、私はそれになりたいhttp://atsomeplace.com/?var1=val1&var2=val2 var1とvar2は、私のHttpリクエストオブジェクトのどこに収まりますか?オブジェクトのように追加したい。 { query: { var1: val1, var2: val2 } } 次に、Httpモジュールだけがそれを解析してURLクエリ文字列に変換します。
266 http  angular  typescript 

26
文字列値を持つ列挙型を作成する
enumTypeScriptでを作成するには、次のコードを使用できます。 enum e { hello = 1, world = 2 }; また、値には次の方法でアクセスできます。 e.hello; e.world; enum文字列値を持つを作成するにはどうすればよいですか? enum e { hello = "hello", // error: cannot convert string to e world = "world" // error };
262 typescript 

23
lodashをangular2 + typescriptアプリケーションにインポートする
lodashモジュールをインポートするのに苦労しています。npm + gulpを使用してプロジェクトをセットアップし、同じ壁にぶつけ続けました。私は通常のロダッシュだけでなく、ロダッシュも試しました。 lodash npmパッケージ:(パッケージのルートフォルダーにindex.jsファイルがあります) import * as _ from 'lodash'; 結果: error TS2307: Cannot find module 'lodash'. lodash-es npmパッケージ:(lodash.jsのデフォルトのエクスポートはパッケージルートフォルダーにあります) import * as _ from 'lodash-es/lodash'; 結果: error TS2307: Cannot find module 'lodash-es'. gulpタスクとwebstormの両方が同じ問題を報告します。 面白い事実、これはエラーを返しません: import 'lodash-es/lodash'; ...もちろん "_"はありません... 私のtsconfig.jsonファイル: { "compilerOptions": { "target": "es5", "module": "system", "moduleResolution": "node", "sourceMap": …

16
グローバル定数を定義する
Angular 1.xでは、次のようにして定数を定義できます。 angular.module('mainApp.config', []) .constant('API_ENDPOINT', 'http://127.0.0.1:6666/api/') Angular(TypeScriptを使用)で同等のものは何ですか? すべてのサービスでAPIベースURLを何度も繰り返したくありません。

5
Typescript:文字列と文字列の違い
TypeScriptの文字列と文字列の違いを知っている人はいますか?それらが同じであるべきだと仮定するのは正しいですか? var a: String = "test"; var b: string = "another test"; a = b; b = a; // this gives a compiler error! コンパイラの現在のバージョンは言う: Type 'String' is not assignable to type 'string'. 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. それはバグですか?
256 typescript 

13
TypeScriptとフィールド初期化子
そのような方法で新しいクラスを初期化するTS方法(C#私が欲しいものを示すための例): // ... some code before return new MyClass { Field1 = "ASD", Field2 = "QWE" }; // ... some code after [編集] この質問を書いているとき、JSの知識がほとんどない純粋な.NET開発者でした。TypeScriptもまったく新しいもので、JavaScriptの新しいC#ベースのスーパーセットとして発表されました。今日、私はこの質問がどれほど愚かだったかを知りました。 とにかく、まだ誰かが答えを探しているなら、下の可能な解決策を見てください。 最初に注意すべきことは、TSでモデルの空のクラスを作成しないことです。より良い方法は、インターフェースまたはタイプを作成することです(必要に応じて)。Todd Mottoの良い記事:https : //ultimatecourses.com/blog/classes-vs-interfaces-in-typescript 解決策1: type MyType = { prop1: string, prop2: string }; return <MyType> { prop1: '', prop2: '' }; 解決策2: type MyType …
251 typescript 

10
Angular @ViewChild()エラー:引数が2つ必要ですが、1つ取得しました
ViewChildを試行すると、エラーが発生します。エラーは、「 'opts'の引数が指定されていませんでした。」 @ViewChildの両方がエラーを出しています。 import { Component, OnInit, ElementRef, ViewChild, Output, EventEmitter } from '@angular/core'; import { Ingredient } from 'src/app/shared/ingredient.model'; @Component({ selector: 'app-shopping-edit', templateUrl: './shopping-edit.component.html', styleUrls: ['./shopping-edit.component.css'] }) export class ShoppingEditComponent implements OnInit { @ViewChild('nameInput') nameInputRef: ElementRef; @ViewChild('amountInput') amountInputRef: ElementRef; @Output() ingredientAdded = new EventEmitter<Ingredient>(); constructor() {} ngOnInit() { } …

29
TypeScriptコンパイルでの実験的なデコレータ警告
警告が表示されます... デコレータの実験的なサポートは、将来のリリースで変更される可能性がある機能です。この警告を削除するには、「experimentalDecorators」オプションを設定します。 ... tsconfig.jsonのcompilerOptionsには次の設定がありますが: "emitDecoratorMetadata": true, "experimentalDecorators": true, 奇妙なのは、デコレータを使用する一部のランダムクラスはその警告を表示しないが、同じプロジェクトの残りのクラスは表示することです。 TypeScriptコンパイラでこのような動作を引き起こす原因は何ですか?

6
モジュール内でグローバル変数を呼び出す
Projects.tsという名前のブートスクリプトプラグインで宣言されたグローバル変数を参照するというtypescriptファイルがありますbootbox.js。 bootboxTypeScriptクラス内から呼び出された変数にアクセスしたい。 出来ますか?
248 typescript 

6
Typescriptで辞書を宣言して初期化する
次のコードを考える interface IPerson { firstName: string; lastName: string; } var persons: { [id: string]: IPerson; } = { "p1": { firstName: "F1", lastName: "L1" }, "p2": { firstName: "F2" } }; 初期化が拒否されないのはなぜですか?結局、2番目のオブジェクトには「lastName」プロパティがありません。


6
TypeScript関数のオーバーロード
TypeScript言語仕様のセクション6.3では、関数のオーバーロードについて説明し、これを実装する方法の具体例を示しています。しかし、私がこのようなことをしようとすると: export class LayerFactory { constructor (public styleFactory: Symbology.StyleFactory) { } createFeatureLayer (userContext : Model.UserContext, mapWrapperObj : MapWrapperBase) : any { throw "not implemented"; } createFeatureLayer(layerName : string, style : any) : any { throw "not implemented"; } } 関数パラメーターの型が異なる場合でも、重複した識別子を示すコンパイラエラーが発生します。2番目のcreateFeatureLayer関数にパラメーターを追加しても、コンパイラエラーが発生します。アイデアをお願いします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.