我正在尝试使用基于此excellent tutorial的MVC和Angular2.rc6创建一个小应用。
我坚持使用部分视图作为templateUrl。 api.flight
@Component({
selector: "mvc",
templateUrl: "/partial/flights" //C# mvc Partial flights.cshtml
})
当我的应用程序启动时,我看到了突破点,应用程序加载Home / Index.cshtml和我的Partial / flights.cshtml
当我点击链接加载航班时,我得到了这个例外:
EXCEPTION:未捕获(承诺):错误:错误 / partial / flights:1:54引起:超出最大调用堆栈大小
但是如果我改变我的API.flight使用:template instance templateUrl。有用。 api.flight
@Component({
selector: "mvc",
template: "<h1>Works Well</h1>"
})
public class PartialController : Controller
{
public IActionResult Flights()
{
return PartialView();
}
public IActionResult Message() => PartialView();
}
我不知道我的MVC路线中是否遗漏了某些内容,或者我是否在angular2上犯了错误。
答案 0 :(得分:1)
您可以将.cshtml
与angular2组件一起使用。
像这样使用模板网址 -
templateUrl: "partial/flights"
partial
是您的控制器名称,flights
将是您的操作名称
在MVC Controller中,您只需返回部分视图 -
public IActionResult flights() => PartialView();
注意:您的操作名称为 s ,部分视图为flight.cshtml。尝试保持相同的命名约定。
看看这是否有帮助。
答案 1 :(得分:-1)
因为templateUrl
不正确而引发错误,templateUrl
应该是有效的组件相对网址,如下所示:
@Component({
selector: "mvc",
templateUrl: "/partial/flights.html"
})