我有一个ASP.NET MVC应用程序,并希望使用Angular 2 . 我是Angular 2的新手,所以我对它有一些基本的问题,我找不到令人满意的答案,或者我的方法甚至是“好的” .

一切都已经设置好了 . 因此,两种技术相互协作 . 现在,这只是关于如何合并这两者的问题 .

ASP.NET应用程序是一个庞大而复杂的应用程序,我现在不想使用Angular2制作所有内容 . 事实上,我只想在几个地方使用Angular Framework .

我希望使用角度的东西,例如多步配方 . 我想象过这样的事情:

我的ASP.NET应用程序中有多个视图:

  • View1.cshtml

  • View2.cshtml

  • ......

  • ViewX.cshtml

View1.cshtml的内容是一个经典的asp.net mvc视图:

<div id="contactContainer">
        <div class="row">
            <div class="col s12">
                <div class="input-field col s12 m12 l6">
                    @Html.TextBox("Name", null, new { @class = "validate", @placeholder = "Name" })
                    <label class="formlabel" for="Name">Your Name</label>
                </div>
            </div>
        </div>
        ....
</div>

View2.cshtml还包含类似View1.cshtml的内容,但另外还有一个角度组件 checkoutForm

<div class="row">
            <div class="col s12">
                <div class="input-field col s12 m12 l6">
                    @Html.Label("Username", null, new { @class = "validate", @placeholder = "Username" })
                </div>
            </div>
  </div> 
  <checkoutForm></checkoutForm>

checkoutForm然后将用角度渲染,例如一些多步公式 . 这是我写的一个自己的组件或模块 .

我现在的问题是带有角度的模板 . 我有app.module和app.component引导,但我如何使用模板来解决这个问题?

如果我的app.component.ts看起来像这样:

import { Component } from '@angular/core';

@Component({
    selector: 'my-app'
})

export class AppComponent { }

我想我必须在View2.cshtml中插入例如这个

<my-app>
    <checkoutForm></checkoutForm>
</my-app>

但这当然不是由角度解析的,因为它似乎没有查看当前加载的页面 . 所以我需要动态设置app.component的模板,以便它查看组件选择器的当前asp.net MVC视图的输出 . 这可能吗?是否有更好的方法或者我不应该为此目的使用角度?