Angular 2与MVC应用程序中的默认控制器以外的控制器不集成

时间:2018-04-02 04:46:36

标签: asp.net-mvc angular asp.net-mvc-5

我正在开发一个ASP.Net MVC5应用程序,它也有Web Api控制器。我想在我的应用程序中包含Angular 2,但挑战在于我无法使用Angular + Web Api逻辑重新编写应用程序。

我能想到两种方法: -

  1. 我希望以这样的方式包含Angular2:当访问某个url时,返回MVC视图,并返回另一个url angular 2视图。
  2. 我的MVC视图包含Angular组件,以便在返回MVC视图时呈现Angular组件的模板
  3. 通过这种方式,我可以在小版本中用HTML视图替换剃刀视图。

    我尝试使用Approach2并使用不同的Angular2和MVC教程,但我坚持以下问题: -

    我的应用程序的基本网址是: - http://localhost:8081/

    这是我在_layout.cshtml添加脚本的方式: -

    <script src="node_modules/core-js/client/shim.min.js"></script>
    <script src="node_modules/zone.js/dist/zone.js"></script>
    <script src="node_modules/reflect-metadata/Reflect.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>
    <script src="~/systemjs.config.js"></script>
    <script>
    System.import('../../app/main.js').catch(function(err) {
    console.error(err);
    });
    </script>
    

    当我使用基本URL加载默认视图时,它能够在路径中找到节点模块和脚本:/ node_modules /或/app/main.ts并加载剃刀视图。但是,当我尝试在另一个控制器中加载另一个视图时,它会给我一个错误,即它无法在路径中找到node_modules:/ mycontroller / node_modules /。

    为什么控制器名称在尝试查找节点模块脚本和main.ts时会被追加?如何更改此行为以便从一个中心位置搜索脚本? 为什么在第一个视图已加载视图时再次搜索main.ts和节点模块脚本文件。 如何在多个剃刀视图中添加角度2组件

0 个答案:

没有答案