时间:2021-07-01 10:21:17 帮助过:12人阅读
研究ng4的官网,终于找到了我想要的方法。我想要的结果是用‘&'拼接参数传送,这样阅读上是最好的。
否则很多‘/'的拼接,容易混淆参数和组件名称。
一般我们页面跳转传递参数都是这样的格式:
http://angular.io/api?uid=1&username=moon
但是在SPA单页应用中却是下面的结果居多【初级视频都是这样敷衍的】
http://angular.io/api/1/moon
那么怎么实现我说的结果呢?
重点开始了。
实现从product页面跳转到product-detail页面。
step1:在app-routing.module.ts中配置路由。
- const routes: Routes = [
- {
- path: 'product',
- component: ProductComponent,
- },
- {
- path: 'product-detail',
- component: ProductDetailComponent,
- }
- ];
step2:在product.ts中书写跳转,并传参数。
- constructor(
- private router: Router, //这里需要注入Router模块
- ){}
- jumpHandle(){
- //这是在html中绑定的click跳转事件
- this.router.navigate(['product-detail'], {
- queryParams: {
- productId: '1',
- title: 'moon'
- }
- });
- }
step3:在product-detail.ts中获取传递过来的参数productId、title
- constructor(
- private activatedRoute: ActivatedRoute, //这里需要注入ActivatedRoute模块
- ) {
- activatedRoute.queryParams.subscribe(queryParams => {
- let productId = queryParams.productId;
- let title = queryParams.title;
- });
- }
ok,就这样完美的解决了。
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
IView中on-change属性如何使用
vue项目中怎么使用sass配置
以上就是在angular4.0路由传递获取参数的最优方案的详细内容,更多请关注Gxl网其它相关文章!