我有一个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视图的输出 . 这可能吗?是否有更好的方法或者我不应该为此目的使用角度?