Angular2 路由解析为路径:'' 在 Master Detail 上
Angular2 Routing resolve to path:'' on Master Detail
这里的问题是,在单击“查看职位”后,页面会成功转到主要详细信息,然后快速转到路径:'',component:JobsComponent。
下面是我执行 View Job 按钮到 Master detail
的地方
主细节路径指向细节的路由文件
const appRouts: Routes = [
{
path: '',
component: JobsComponent
},
{
path: 'learner',
component: LeanershipsComponent
} {
path: 'cvTips',
component: CvTipsComponent
},
{
path: 'detail/:id',
component: JobDetailComponent
}
]
<table *ngFor="let l of getKeys()" class="table">
<tr class="odd hide-jobs">
<td class="tbl-logo"><img src="assets/img/job-logo5.png" alt=""></td>
<td class="tbl-title">
<h4> {{jobs[l].title}}<br><span class="job-type">full time</span></h4>
</td>
<td>
<p>{{jobs[l].company}} </p>
</td>
<td>
<p><i class="icon-location"></i>{{jobs[l].location}}</p>
</td>
<td>
<p>{{jobs[l].salary}}</p>
</td>
<td routerLink="./detail/{{l}}" class="tbl-apply"><a href="">View Job</a></td>
<td class="tbl-apply"><a href="">Apply now</a></td>
</tr>
</table>
此代码成功从 firebase 获取 ID,然后将它们传递给循环 *ngFor
import {
Component,
OnInit
} from '@angular/core';
import {
Service
} from '../../service/service'
@Component({
selector: 'app-jobs',
templateUrl: './jobs.component.html',
styleUrls: ['./jobs.component.css'],
providers: [Service]
})
export class JobsComponent {
jobs
key = []
constructor(private todoService: Service) {
let promise = todoService.getJobs();
promise.then(snapshot => {
this.jobs = snapshot.val();
var listJobs = snapshot.val();
// console.log(listJobs);
})
this.getKeys();
}
ngAfterViewInit() {
this.getKeys();
}
getKeys() {
try {
this.key = Object.keys(this.jobs);
//console.log(this.key);
} catch (e) {
// console.log(e);
}
return this.key;
}
}
从您的锚标记中删除 href=""
。它应该可以解决您的问题。
这里的问题是,在单击“查看职位”后,页面会成功转到主要详细信息,然后快速转到路径:'',component:JobsComponent。
主细节路径指向细节的路由文件
const appRouts: Routes = [
{
path: '',
component: JobsComponent
},
{
path: 'learner',
component: LeanershipsComponent
} {
path: 'cvTips',
component: CvTipsComponent
},
{
path: 'detail/:id',
component: JobDetailComponent
}
]
<table *ngFor="let l of getKeys()" class="table">
<tr class="odd hide-jobs">
<td class="tbl-logo"><img src="assets/img/job-logo5.png" alt=""></td>
<td class="tbl-title">
<h4> {{jobs[l].title}}<br><span class="job-type">full time</span></h4>
</td>
<td>
<p>{{jobs[l].company}} </p>
</td>
<td>
<p><i class="icon-location"></i>{{jobs[l].location}}</p>
</td>
<td>
<p>{{jobs[l].salary}}</p>
</td>
<td routerLink="./detail/{{l}}" class="tbl-apply"><a href="">View Job</a></td>
<td class="tbl-apply"><a href="">Apply now</a></td>
</tr>
</table>
此代码成功从 firebase 获取 ID,然后将它们传递给循环 *ngFor
import {
Component,
OnInit
} from '@angular/core';
import {
Service
} from '../../service/service'
@Component({
selector: 'app-jobs',
templateUrl: './jobs.component.html',
styleUrls: ['./jobs.component.css'],
providers: [Service]
})
export class JobsComponent {
jobs
key = []
constructor(private todoService: Service) {
let promise = todoService.getJobs();
promise.then(snapshot => {
this.jobs = snapshot.val();
var listJobs = snapshot.val();
// console.log(listJobs);
})
this.getKeys();
}
ngAfterViewInit() {
this.getKeys();
}
getKeys() {
try {
this.key = Object.keys(this.jobs);
//console.log(this.key);
} catch (e) {
// console.log(e);
}
return this.key;
}
}
从您的锚标记中删除 href=""
。它应该可以解决您的问题。