【问题标题】:Angular 2 with typescript routing not working带有打字稿路由的Angular 2不起作用
【发布时间】:2017-07-23 14:47:58
【问题描述】:

我有一个 Angular 2 .net 核心应用程序,我从以下位置下载: https://github.com/chsakell/aspnet-core-signalr-angular

我尝试添加一个新模块并将路由更改为:

const appRoutes: Routes = [
    { path: 'home', component: HomeComponent },
    { path: '', component: HomeComponent },
    { path: 'another', component: AnotherComponent },
];

“另一个”是新组件。所以我希望在地址栏中输入:“http://localhost:5000/#/another”应该加载“另一个”模块。但这不起作用。如果我将默认路径“”链接到另一个组件,它会加载“另一个”模块。在默认路径“”中唯一有效的路径。

谁能看到我做错了什么?控制台中不显示任何错误。

谢谢

【问题讨论】:

  • “另一个模块”是什么意思?你说它不起作用是什么意思?错误?例外?更多细节会很好。也许重新表述你的问题描述
  • 看,我每次都将“另一个”放在引号中。你到底怎么不明白组件名称是“另一个”
  • 您在问题中混合了模块和组件的概念,我需要问一下。
  • 抱歉,我有点沮丧。我走得更远了,发现当 /home 被点击时,它会起作用,因为它会点击“HomeController”中的 Index 操作,而其他页面没有自己的控制器。我基本上需要弄清楚如何将 mvc 与角度路由一起使用,而不必为每个角度页面添加新控制器

标签: asp.net-core angular2-routing


【解决方案1】:

如果其他人有类似的问题 - 如果您使用 MVC 路由和角度路由。还需要为 MVC 指定 url。因此,当您为 Angular 添加新路由时,它会尝试查找可能不存在的控制器/动作。所以我做的是这样的:

      [Route("Home")]
      [Route("Home/Another")]
      [Route("Home/Start")]
      Public IActionResult Index()
        {
            return View();
        }

并且角度路线需要匹配。

【讨论】:

    猜你喜欢
    • 2021-10-28
    • 1970-01-01
    • 2017-05-05
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2017-03-03
    • 2018-12-24
    相关资源
    最近更新 更多