尝试assgin路由器时遇到问题:
item.href = 'address';
item.text = 'click to Address';
Run Code Online (Sandbox Code Playgroud)
并在模板中:
<a class="nav-link" [routerLink]="['{{item.href}}']" >{{item.text}}</a>
Run Code Online (Sandbox Code Playgroud)
但它仍然是错误的:"得到插值({{}}),其中表达式在......"
请帮我分配模板中的路由器是动态的.
我在Angular组件中启动一个间隔,但即使在我更改路径后它也会继续发出请求.我该如何停止间隔?
//returns an observable
getAllPolls() {
return Observable.interval(2000).switchMap(() => this._http.get('https://xq4kftam4k.execute-api.us-east-1.amazonaws.com/test/polls2'))
.map((res: Response) => res.json())
}
Run Code Online (Sandbox Code Playgroud) 我正在制作一个有几个子节点的布局对象,我希望父对象声明所有子对象的路由 - 最好不要在我的app.module.ts中.
这是我的标记 HomeLayoutComponent
<router-outlet name="body"></router-outlet>
<router-outlet name="css"></router-outlet>
<router-outlet name="header"></router-outlet>
<router-outlet></router-outlet>
<router-outlet name="footer"></router-outlet>
<router-outlet name="scripts"></router-outlet>
Run Code Online (Sandbox Code Playgroud)
这里有一点点,但我必须更换各个部分因为我有3个不同的模板用于各种页面,包括不同的css,不同的脚本,甚至<body>标签上的不同属性.
现在的打字稿了 HomeLayoutComponent
import { Component } from '@angular/core';
import { Routes } from '@angular/router';
import { HomeBodyComponent } from './home-body.component';
import { HomeCssComponent } from './home-css.component';
import { HomeHeaderComponent } from './home-header.component';
import { HomeContentComponent } from './home-content.component';
import { HomeFooterComponent } from './home-footer.component';
import { HomeScriptsComponent } from './home-scripts.component';
@Component({
selector: 'home-layout',
template: require('./home-layout.component.html')
})
@Routes([
{ path: '', component: …Run Code Online (Sandbox Code Playgroud) 
我是Angular 2的新手,我需要路由部分的帮助.我正在使用http://jasonwatmore.com/post/2016/09/29/angular-2-user-registration-and-login-example-tutorial
我收到了一个错误
导出变量'routing'已经或正在使用来自外部模块"/ home/frank/angular/node_modules/@ angular/core/src/metadata/ng_module"的名称'ModuleWithProviders',但无法命名.
这是我的代码
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
// used to create fake backend
import { fakeBackendProvider } from './_helpers/index';
import { MockBackend, MockConnection } from '@angular/http/testing';
import { BaseRequestOptions } from '@angular/http';
import { AppComponent } from './app.component';
import { routing } from './app.routing';
import { AlertComponent } from './_directives/index';
import { AuthGuard } from …Run Code Online (Sandbox Code Playgroud) 目前,我在我的项目中设置了路由.每个新用户都被重定向到:
本地主机:4200 /默认的路径/登录
一旦用户登录,它们就会被重定向到主模块,主模块有一些用户可以导航到的子路由.
localhost:4200/default-path/home
localhost:4200/default-path/home/account
localhost:4200/default-path/home/account/profile
localhost:4200/default-path/home/dashboard
... 等等.
现在,粗体部分已在主页模块中设置,无需进一步编辑.但是,我想换个default-path别的东西.
比如说,每个用户都可以属于三个项目之一:项目蓝色,红色或绿色.只有在用户提交凭据并点击登录按钮后,才能使用此信息.
登录后我想要的路线是:
localhost:4200/project-blue/home
localhost:4200/project-red/home
localhost:4200/project-green/home
请记住,粗体部分不是具有不同关联组件的不同模块,它们只是我想在URL中看到的常量.
目前,我<base>在索引中的标记就像<base href='/'>我正在尝试编辑此属性.我得到的是:
processLoginSuccess(loginTicket): void {
const routeName = loginTicket.baseUrl // returns 'project-red'
let b = document.getElementsByTagName('base')[0]
b.setAttribute('href', routeName )
this._router.navigate(['/home']);
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
有任何想法吗?
(前言:我来自C#/ WPF背景,一般来说是网络开发的新手 - 请耐心等待!)
使用Angular 2,我能够像这样定义我的路线:
RouterModule.forChild([
{ path: 'contacts', component: ContactsComponent }
])
Run Code Online (Sandbox Code Playgroud)
然后,在一些html中,我可以使用routerLink语法来引用它:
routerLink='/contacts'
Run Code Online (Sandbox Code Playgroud)
这很好用,最终它允许我用绑定替换字符串,所以我可以在运行时获取路径,允许数据确定导航结构.
现在,我试图在Ionic 2中做类似的事情,但如果有可能,那对我来说并不明显.我已经看到你如何使用[navPush]使用深层链接绑定到页面(就像这个人做的那样:http://plnkr.co/edit/syUH0d6SJd2gAjqaPLwr?p = preview ),但是这需要提前定义页面在想要使用它的组件中的时间.
Ionic的导航结构是否支持此功能?
我有以下标签栏链接,第一个应该是空的:
<nav md-tab-nav-bar>
<a md-tab-link [routerLink]="'./'"
routerLinkActive #rla="routerLinkActive" [active]="rla.isActive">
My tab
</a>
...
</nav>
Run Code Online (Sandbox Code Playgroud)
链接工作正常,但不会触发活动状态.
处理空路由器链接以激活选项卡的正确方法是什么?
嗨,我在样本中使用了延迟加载。
export const appRoutes: Routes = [
{ path: 'comp1', loadChildren: 'app/components/comp1/comp1.module#comp1Module' },
{ path: 'comp2', loadChildren: 'app/components/comp2/comp2.module#comp2Module' },
. . .
]
Run Code Online (Sandbox Code Playgroud)
具有以下子路线的comp1Module路线
export const comp1Routes: Routes = [
{ path: 'comp1/default', component: DefaultComponent },
];
Run Code Online (Sandbox Code Playgroud)
路由时,我需要从模块中路由所有路由。
例如:我想从模块comp1获取所有路由
所以我想导航到特定路线后重新加载应用程序。
我使用router.navigate根据用户角色导航到某些路由,效果很好,但是如果来自登录页面(并非每次用户打开该特定路由),我必须在路由后重新加载页面-此处重新加载是为了更新页面语言取决于用户的语言
所以我想做的是
else if(this.sp.role === 'Admin') {
console.log('ooo')
this.router.navigate(['/admin/dashboard']);
this.window.location.reload();
Run Code Online (Sandbox Code Playgroud)
但这会重新加载登录页面
angular2-routing ×10
angular ×9
angular5 ×1
angular6 ×1
html ×1
ionic2 ×1
javascript ×1
routing ×1
rxjs ×1
typescript ×1
url-routing ×1