我想以编程方式从组件中更改网址的片段,但我没有这样做。
<a #linkComponent routerLink='home' fragment='part'>link</a>
@ViewChild('linkComponent') linkComponent;
this.linkComponent.????
或许使用Router
可能有不同的方法答案 0 :(得分:5)
修改linkComponent只会更改元素,我在更改片段URL之后。贝娄我有工作解决方案。
@Component({
...
})
export class Cmp {
constructor( private router: Router ) {}
}
changeFragment() {
this.router.navigate( [ '/home' ], { fragment: '#part' } )
}
}
答案 1 :(得分:0)
你可能需要这样的东西:
@Component({
...
})
export class Cmp {
@ViewChild('linkComponent') linkComponent: ElementRef;
constructor(private _renderer: Renderer) {}
// only after view initialization linkComponent would be available!
ngAfterViewInit() {
this._renderer.setElementAttribute(this.linkComponent, 'fragment', 'new_value');
}
}