私はthis partに立ち往生したときに、角型2 tutorial(TypeScript内)で作業していました。彼らは今、テンプレートを別々のファイルに分けたいと思っています。それはうまくやっているけど、奇妙なセットアップがあります。私はASP.NET MVCでファイルを提供しています。Viewsフォルダからファイルを提供することを拒否しています。十分に十分です:私はRazor(.cshtml)ファイルを提供する必要があることを期待しています。ただホワイトリストのHTMLの代わりにこれを試してハックしようと思います。UrlResolverをオーバーライド
これまでAngular 1で作業していましたが、decoratorを使用して$templateRequest serviceを修正して、テンプレートURLをMVCが受け入れるものに変更して、対応するファイルを提供するようにMVCを設定しました。もし私が自分自身を言うなら、かなり賢い仕事。だから私は角2でこれを複製する必要があります。それは簡単でなければならない。
間違っています。間違っている。グーグルの推測の後、私が確認したクライアントサイドのデバッグの後に、私が拡張したいクラスであるUrlResolverが見つかりました。ドキュメントは、
とも言います。このクラスは、カスタム動作を作成するためにアプリケーション開発者によってオーバーライドできます。
はい!これはまさに私がやりたいことです。残念ながら、それを上書きする方法の例は提供されていません。私はこのDemoUrlResolverとこのMyUrlResolverを見つけましたが、どのように動作するのか、どちらが動作するのかわかりません。私はブートストラップとプロバイダ(モジュールとアプリケーションコンポーネント上)を含む私のカスタムプロバイダ(this answer参照)を提供するための複数のアプローチを試してみました。
UrlResolverをオーバーライドするにはどうすればよいですか?
は、私はそれは問題ではありませんと仮定し、現時点では私の拡張子は何もしませんが、基本クラスに延期:
class MvcUrlResolver extends UrlResolver {
resolve(baseUrl: string, url: string): string {
return super.resolve(baseUrl, url);
}
}
私はあなたが '@ angle/core'; 'から' import {COMPILER_OPTIONS}を含むと仮定します。あなたは、素晴らしいです。私は最近、難しい質問がたくさんあると感じています。これはしばらくの間、最初の良い答えでした。 – ricksmt
@ricksmt、正しい、それは@ angular/coreからです。私は私の答えを更新しました。 –