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

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

30
Angularでは、アクティブなルートをどのように決定しますか?
注: ここには多くの異なる答えがあり、そのほとんどは一度に有効でした。実際、Angularチームがルーターを変更したため、機能するものは何度も変更されました。最終的にAngular のルーターとなるルーター3.0バージョンは、これらのソリューションの多くを壊しますが、独自の非常にシンプルなソリューションを提供します。RC.3以降、推奨される解決策は[routerLinkActive]、この回答に示すように使用することです。 Angularアプリケーション(私がこれを書いている現在の2.0.0-beta.0リリース)では、現在アクティブなルートが何であるかをどのように判断しますか? 私はBootstrap 4を使用するアプリに取り組んでおり、関連するコンポーネントが<router-output>タグに表示されているときにナビゲーションリンク/ボタンをアクティブとしてマークする方法が必要です。 ボタンの1つがクリックされたときに自分で状態を維持できることはわかっていますが、同じルートに複数のパスがある場合(メインナビゲーションメニューとメインコンポーネントのローカルメニューなど)はカバーされません)。 提案やリンクをいただければ幸いです。ありがとう。


13
noImplicitAnyフラグを有効にしてtypescriptをコンパイルするときに、「オブジェクトタイプのインデックスシグネチャには暗黙的に「any」タイプがあります」というエラーを防ぐにはどうすればよいですか?
私は常に--noImplicitAnyフラグを使用してTypescriptをコンパイルします。これは、型チェックをできるだけ厳しくしたいので意味があります。 私の問題は、次のコードでエラーが発生することIndex signature of object type implicitly has an 'any' typeです: interface ISomeObject { firstKey: string; secondKey: string; thirdKey: string; } let someObject: ISomeObject = { firstKey: 'firstValue', secondKey: 'secondValue', thirdKey: 'thirdValue' }; let key: string = 'secondKey'; let secondValue: string = someObject[key]; 注意すべき重要な点は、キー変数はアプリケーションの他の場所から取得され、オブジェクト内の任意のキーにすることができるという考え方です。 私は明示的に型をキャストしてみました: let secondValue: string = <string>someObject[key]; …
309 typescript 

14
モジュール 'module-name'の宣言ファイルが見つかりませんでした。'/path/to/module-name.js'には暗黙的に 'any'タイプがあります
TypeScript モジュール解決の仕組みを読みました。 次のリポジトリがあります:@ ts-stack / di。ディレクトリ構造をコンパイルすると、次のようになります。 ├── dist │ ├── annotations.d.ts │ ├── annotations.js │ ├── index.d.ts │ ├── index.js │ ├── injector.d.ts │ ├── injector.js │ ├── profiler.d.ts │ ├── profiler.js │ ├── providers.d.ts │ ├── providers.js │ ├── util.d.ts │ └── util.js ├── LICENSE ├── package.json ├── README.md …

23
Angular 2ルート変更の一番上までスクロール
Angular 2アプリで、ページを下にスクロールしてページの下部にあるリンクをクリックすると、ルートが変更されて次のページが表示されますが、ページの上部にスクロールしません。その結果、1ページ目が長く、2ページ目が少ない場合、2ページ目が不足しているような印象になります。コンテンツが表示されるのは、ユーザーがページの上部にスクロールした場合のみです。 コンポーネントのngInitでウィンドウをページの上部にスクロールできますが、アプリ内のすべてのルートを自動的に処理できるより良い解決策はありますか?


13
Typescriptによるインターフェース型チェック
この質問は、TypeScriptを使用したクラス型チェックに直接類似しています タイプの変数がインターフェイスを実装しているかどうかを実行時に確認する必要があります。これが私のコードです: interface A{ member:string; } var a:any={member:"foobar"}; if(a instanceof A) alert(a.member); typescript playgroundにこのコードを入力すると、最後の行は「名前Aは現在のスコープに存在しません」というエラーとしてマークされます。しかし、そうではありません。名前は現在のスコープに存在します。var a:A={member:"foobar"};エディターからの不満なしに変数宣言を変更することもできます。Webを閲覧してSOで他の質問を見つけた後、インターフェイスをクラスに変更しましたが、オブジェクトリテラルを使用してインスタンスを作成できません。 タイプAがどのようにしてこのように消えてしまうのか疑問に思いましたが、生成されたJavaScriptを見ると問題が説明されています。 var a = { member: "foobar" }; if(a instanceof A) { alert(a.member); } Aはインターフェースとして表現されないため、実行時の型チェックはできません。 動的言語としてのJavaScriptにはインターフェースの概念がないことを理解しています。インターフェイスのタイプチェックを行う方法はありますか? typescript playgroundのオートコンプリートは、typescriptがメソッドを提供することさえ明らかにしますimplements。どうすれば使用できますか?

6
Typescriptオブジェクトのインデックス付きメンバーの型を強制しますか?
文字列->文字列のマッピングをTypescriptオブジェクトに保存し、すべてのキーが文字列にマッピングされるようにします。例えば: var stuff = {}; stuff["a"] = "foo"; // okay stuff["b"] = "bar"; // okay stuff["c"] = false; // ERROR! bool != string 値が文字列(または任意のタイプ..)でなければならないことを強制する方法はありますか?
289 typescript 

2
typescriptを使用する必要がありますか?または私はES6を使用できますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する 私の毎日の仕事は、AngularJSを使用するクライアント開発者です。TypeScriptを使用するかどうかを評価しています。私はtypescriptについていくつかの調査を行いましたが、必要なほぼすべてのJavaScriptパッケージには定義タイプファイルが必要です。特に何か新しいことを試してみたいと思っていて、定義が定義されていない場合は、あまり便利ではないことがわかりました。本当にイライラします。(typescript 1.5ベータ版を使用する場合、現在のjQuery定義でも問題が発生します)。ES6を検討し始めましたが、TypeScriptに似ています。代わりにES6を使用する必要がありますか?また、angular 2はTypeScriptを完全にサポートすることになると聞きました。

15
チェックされた後、式___が変更されました
この単純なプランクのコンポーネントはなぜですか @Component({ selector: 'my-app', template: `<div>I'm {{message}} </div>`, }) export class App { message:string = 'loading :('; ngAfterViewInit() { this.updateMessage(); } updateMessage(){ this.message = 'all done loading :)' } } 投げ: 例外:式 'I'm {{message}} in App @ 0:5'は確認後に変更されました。以前の値: 'I'm loading :('。現在の値: 'I'm all done loading :)' in [I'm {{message}} in …

13
例外:既知のネイティブプロパティではないため、「ngFor」にバインドできません
何が悪いのですか? import {bootstrap, Component} from 'angular2/angular2' @Component({ selector: 'conf-talks', template: `<div *ngFor="talk of talks"> {{talk.title}} by {{talk.speaker}} <p>{{talk.description}} </div>` }) class ConfTalks { talks = [ {title: 't1', speaker: 'Brian', description: 'talk 1'}, {title: 't2', speaker: 'Julie', description: 'talk 2'}]; } @Component({ selector: 'my-app', directives: [ConfTalks], template: '<conf-talks></conf-talks>' }) class …


7
非同期/待機構文で拒否する方法は?
非同期/待機関数によって返されたプロミスをどのように拒否できますか? 例:もともと foo(id: string): Promise<A> { return new Promise((resolve, reject) => { someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400)) }); } async / awaitに翻訳する async foo(id: string): Promise<A> { try{ await someAsyncPromise(); return 200; } catch(error) {//here goes if someAsyncPromise() rejected} return 400; //this will result in a resolved promise. }); } では、この場合、この約束を適切に拒否するにはどうすればよいですか?

22
* ngForにフィルターを適用する方法は?
どうやら、Angular 2はng-forと組み合わせてAngular1のようにフィルターの代わりにパイプを使用して結果をフィルター処理しますが、実装はあいまいで、明確なドキュメントはありません。 つまり、私が達成しようとしていることは、次の視点から見ることができます <div *ng-for="#item of itemsList" *ng-if="conditon(item)"></div> パイプを使用してそのように実装する方法は?


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