问题标签 [angular4-router]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
417 浏览

asp.net-mvc - ASP.Net MVC 中的 Angular 4 路由和多个共享布局页面

在使用 ASP.Net MVC 和 Angular 4 完成的项目中,我需要有多个布局,一个用于公共访问,另一个用于安全访问。

在 /Home/Index 上可用的 Home 控制器的 Index 操作中,我启动了 Angular 应用程序。我的 index.cshtml 文件在下面。

我的 app 文件夹结构如下图所示: app 文件夹结构

我的要求是,当我进入仪表板或事件页面时,我需要有安全的布局,以及可公开访问的页面的公共布局。我的问题是,由于我正在编写 HTML 标记并从 /Home/Index 加载应用程序,如何为公共和安全布局页面提供单独的布局文件?

当原始 HTML 文件位于 app 文件夹之外时,如何将单独的 CSS 和 JS 加载到公共和安全布局中?

0 投票
3 回答
719 浏览

html - Angular 4中的路由

我的应用程序中的路由存在问题。在我的本地一切正常,但在服务器上却不行。该程序有以下路线:

root route总是有效的。

如果在我的电脑上我直接发送请求,例如路由:

假设我已经登录,加载它没有问题。但是,如果在服务器中使用该路由执行该路由:

它没有找到路线。

我也修改了 index.html,以便在服务器上执行。

<base href="/">经过<base href="/mypath/dist/">

如果我使用指令通过模板 html 执行该路由

它工作正常。

有谁知道为什么会这样?

0 投票
1 回答
490 浏览

javascript - 未捕获的类型错误:无法在 __extends 处读取未定义的属性“原型”(Subscriber.js:5)

ng build 并上传到生产服务器后出现此错误。我在 angular4 上使用 angular cli。当我将 Route Guard 添加到功能模块时,这一切才真正开始。我恢复到没有 Guard 的时候,但错误仍然存​​在。当我在本地机器上运行 ng serve 时,我没有收到此错误。这是我的应用模块:

我的身份验证服务:

我的路线守卫:

应用路由模块:

保护模块:

功能模块组件:

0 投票
1 回答
5486 浏览

angular - 当用户使用 f5 重新加载页面时,如何正确地进行角度处理?

我是 Angular 2-4 的新手,现在在使用 f5 重新加载页面时遇到问题。正如我所看到的,问题是我正在朝着同一条路线导航,因此 ngOnInit() 没有再次加载。在 ngOnInit() 中,我初始化了我使用的一些变量和动态形式。我已经看到了一个可能的解决方案,即订阅路由的参数并调用一个初始化所有内容的方法。像这样的东西:

  这是正确的方法吗?这是一个好习惯还是我应该以另一种方式来做?提前致谢。

0 投票
2 回答
8678 浏览

angular2-routing - 防止 Angular 2 中的 routerLink 操作

我有一个链接:

我想在testClick功能上做这样的事情:

但是打电话preventDefault是不行的。我该如何解决?

0 投票
3 回答
12969 浏览

angular - 如果用户已经在 Angular 4 中登录,如何限制对登录路由的访问?

我已经成功实现了 AuthGuardService,如果用户未登录,它会限制对受保护路由的访问。

我想要实现的是,如果用户已经登录并访问了登录路由,我希望它重定向到另一个路由,比如主页。

0 投票
2 回答
71 浏览

angular - Angular 2/4: Routing is not working

My routing

In app component I have this.router.navigate(['home']); This doesn't navigate me to home component.

enter image description here

When I routed to login page, my left nav is also displayed.

My app.component.ts

0 投票
1 回答
1410 浏览

angular - Programmatic Router Navigation to Component with named router-outlet

I have a nebulous problem concerning a programmatically router navigate within an component. I really searched a lot for helpful solutions but I didn't get it, unfortunately. To confess...I'm not an angular expert because I'm still learning.
In short. I have an AppRoutingModule:

In summary I have two router-outlets, the primary one and one it's called "search" (s. above).

During loading the SearchComponent (that works!) I want to route to path "allgarchiv" (s. above; router-outlet = "search") automatically.

But this doesn't work. I get following error:

ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'allgarchiv' Error: Cannot match any routes. URL Segment: 'allgarchiv'

If you have a look within the Template I also tried this by first click on a Router-Link (Test_LoadRouter; currently comment). And this works like a charm!!
My question is how I could navigate to the router programmatically from SearchComponent?
I also tried different lifecyle-hooks but without any results and the same error.

Any help is really appreciate. Many thanks in advance.

0 投票
3 回答
3040 浏览

angular - 相当于组件功能的路由保护

我想知道是否有等效于角度组件功能(特别是单击事件)的路由保护。

我们设置了一个路由守卫,在未登录时会打开一个登录页面。这很好用。问题是,我们有一个不需要身份验证即可查看的组件,但组件中的某些功能确实需要身份验证。例如,新闻文章列表,但upvote/downvote 按钮需要身份验证才能使用。

upvote/downvote 按钮只是点击事件触发组件功能。我们可以将我们在自定义路由保护中使用的逻辑添加到这些函数中,但这会导致大量重复代码。

我想知道 Angular 是否有内置的东西可以解决这个问题。我正在考虑类似于 ASP.NET MVC 的 [Authorize] 属性的东西,您可以将其放在操作的顶部进行身份验证。据我所知,路由守卫仅适用于路由,而不适用于点击事件。

0 投票
0 回答
822 浏览

angular - toHaveBeenCalledWith 在调用的变量中得到错误的值

我是新手jasmine。在这里,我试图运行一个测试用例,但它失败并出现以下错误:

组件代码:

茉莉花代码:

请告诉我我在这里做错了什么。提前致谢。