マルチテナントのウェブサイトなどの外部リソースをサポート - アンギュラ2/4角度templateUrlと、このようなウェブAPI
私は、マルチテナントアプリケーションを作成していると私は基本的に各テナントに能力を与えたいとネットコア1特定のフォームを変更します。各フォームには、同じビューモデルとプロパティが含まれます。レイアウト/スタイルのものです。私は角度を使用したい、私は同じサイト内のAPIエンドポイントからHTMLをフェッチするコンポーネントのtemplateUrlプロパティを使用しようとしています。エンドポイントは直接アクセスする場合は機能しますが、角度コンポーネントで参照される場合は機能しません。
@Component({
selector:'home',
templateUrl:'/api/app-template-loader/login-form'
})
export class HomeComponent {
}
コントローラー:
[Route("api/app-template-loader")]
public class AppTemplateLoaderController : Controller
{
private AppTenant currentTenant;
public AppTemplateLoaderController(IEnumerable<AppTenant> tenant)
{
this.currentTenant = tenant.FirstOrDefault();
}
[HttpGet]
[Route("{templateName}")]
public string Get(string templateName)
{
if (templateName == "home")
{
return $"<h1>{this.currentTenant.Name}</h1>";
}
return "<h1>No template</h1>";
}
}
私は非常に基本的なものを試してみたが、私はちょうどそれが仕事を得るように見えることはできません。ブラウザの「/ API /アプリのテンプレートローダ/ログイン・フォーム」をHTMLを返すへのアクセスが、コンポーネントにアクセスするとき、私はこのエラーを取得:
ERROR in ./ClientApp/app/components/home/home.component.ts
Module not found: Error: Can't resolve './/api/app-template-loader/login-form' in '<local disk path omitted for privacy>\ClientApp\app\components\home'
@ ./ClientApp/app/components/home/home.component.ts 18:18-66
@ ./ClientApp/app/app.module.shared.ts
@ ./ClientApp/app/app.module.client.ts
@ ./ClientApp/boot-client.ts
@ multi event-source-polyfill webpack-hot-middleware/client?path=%2F__webpack_hmr ./ClientApp/boot-client.ts
私はこれが可能でなければならないと仮定しますが、私は見つけるのに苦労していますオンラインでも同じ問題でもここにある例があります。
いずれのポインタも大歓迎です。
ありがとうございます。
コントローラを質問に追加しましたが、スラッシュの有無にかかわらず、まだ喜んでいません。質問には既にあなたの質問に対する他のすべての答えがあります。コントローラ上のアクションです。はい、アクセス可能であり、直接動作します。 – James