问题标签 [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.
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 加载到公共和安全布局中?
html - Angular 4中的路由
我的应用程序中的路由存在问题。在我的本地一切正常,但在服务器上却不行。该程序有以下路线:
root route
总是有效的。
如果在我的电脑上我直接发送请求,例如路由:
假设我已经登录,加载它没有问题。但是,如果在服务器中使用该路由执行该路由:
它没有找到路线。
我也修改了 index.html,以便在服务器上执行。
<base href="/">
经过<base href="/mypath/dist/">
如果我使用指令通过模板 html 执行该路由
它工作正常。
有谁知道为什么会这样?
javascript - 未捕获的类型错误:无法在 __extends 处读取未定义的属性“原型”(Subscriber.js:5)
ng build 并上传到生产服务器后出现此错误。我在 angular4 上使用 angular cli。当我将 Route Guard 添加到功能模块时,这一切才真正开始。我恢复到没有 Guard 的时候,但错误仍然存在。当我在本地机器上运行 ng serve 时,我没有收到此错误。这是我的应用模块:
我的身份验证服务:
我的路线守卫:
应用路由模块:
保护模块:
功能模块组件:
angular - 当用户使用 f5 重新加载页面时,如何正确地进行角度处理?
我是 Angular 2-4 的新手,现在在使用 f5 重新加载页面时遇到问题。正如我所看到的,问题是我正在朝着同一条路线导航,因此 ngOnInit() 没有再次加载。在 ngOnInit() 中,我初始化了我使用的一些变量和动态形式。我已经看到了一个可能的解决方案,即订阅路由的参数并调用一个初始化所有内容的方法。像这样的东西:
这是正确的方法吗?这是一个好习惯还是我应该以另一种方式来做?提前致谢。
angular2-routing - 防止 Angular 2 中的 routerLink 操作
我有一个链接:
我想在testClick
功能上做这样的事情:
但是打电话preventDefault
是不行的。我该如何解决?
angular - 如果用户已经在 Angular 4 中登录,如何限制对登录路由的访问?
我已经成功实现了 AuthGuardService,如果用户未登录,它会限制对受保护路由的访问。
我想要实现的是,如果用户已经登录并访问了登录路由,我希望它重定向到另一个路由,比如主页。
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.
angular - 相当于组件功能的路由保护
我想知道是否有等效于角度组件功能(特别是单击事件)的路由保护。
我们设置了一个路由守卫,在未登录时会打开一个登录页面。这很好用。问题是,我们有一个不需要身份验证即可查看的组件,但组件中的某些功能确实需要身份验证。例如,新闻文章列表,但upvote/downvote 按钮需要身份验证才能使用。
upvote/downvote 按钮只是点击事件触发组件功能。我们可以将我们在自定义路由保护中使用的逻辑添加到这些函数中,但这会导致大量重复代码。
我想知道 Angular 是否有内置的东西可以解决这个问题。我正在考虑类似于 ASP.NET MVC 的 [Authorize] 属性的东西,您可以将其放在操作的顶部进行身份验证。据我所知,路由守卫仅适用于路由,而不适用于点击事件。
angular - toHaveBeenCalledWith 在调用的变量中得到错误的值
我是新手jasmine
。在这里,我试图运行一个测试用例,但它失败并出现以下错误:
组件代码:
茉莉花代码:
请告诉我我在这里做错了什么。提前致谢。