栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

角度2-如何传递URL参数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

角度2-如何传递URL参数?

我在查询参数正常工作的情况下创建了请求请求。我将尽力解释我所做的一切。

前面的答案不起作用的原因是,您根本没有使用路由器。您创建了没有路线的庞大应用程序组件。为了解决我们需要开始使用route模块的问题,我还建议您阅读以下两个教程:Routing和Routing&Navigation。

首先,我们需要更改您的

index.html
,将其添加到您的
<head>

<base href="/">

看到这里为什么添加它很重要。

然后,由于您正在使用

AppComponent
展示所有内容,因此我们需要创建一个新组件,我们将其称为
RootComponent
。在您
index.html
更改
<my-app>
<root>
; 它看起来像这样:

<root>Loading...</root>

现在在您的

app
文件夹内,我们需要创建两个文件,第一个文件
root.component.ts
将如下所示:

import { Component } from '@angular/core';@Component({  selector: 'root',  template: `<router-outlet></router-outlet>`,})export class RootComponent {  constructor() {  }}

看起来我们有

<router-outlet></router-outlet>
一个模板,Angular将基于路线注入我们的组件。

我们仍然需要再创建一个文件,文件

main.route.ts
名为,如下所示:

import { Routes, RouterModule }   from '@angular/router';import { AppComponent } from './app.component';export const mainRoutes: Routes = [  { path: '', component: AppComponent }];export const mainRoutingProviders: any[] = [];export const routing = RouterModule.forRoot(mainRoutes);

在此文件中,我们说的是,对于基本路线,我们要渲染

AppComponent

我们已经创建了新文件,现在需要在您的 应用程序中 告诉我们的 应用模块

app.module.ts
以便我们导入新文件并声明新组件。我们还需要更改我们的boostrap组件:

import {NgModule}      from '@angular/core';import {BrowserModule} from '@angular/platform-browser';import {FormsModule, ReactiveFormsModule} from "@angular/forms";import {AppComponent}  from './app.component';import {RootComponent}  from './root.component'; // we import our new RootComponentimport {ChartModule} from 'primeng/primeng';import {TooltipModule} from 'primeng/primeng';import { routing, mainRoutingProviders } from './main.routes'; // We also import our Routes@NgModule({  imports: [    BrowserModule,    ChartModule,    FormsModule,    mainRoutingProviders, // we also need to import our route provider into the module    ReactiveFormsModule,    routing, // and also import our routes declarations    TooltipModule  ],  declarations: [AppComponent, RootComponent], // we declare our new RootCpmponent  bootstrap: [RootComponent] // Notice that we are now using our RootComponent to bootstrap our app})export class AppModule {}

现在,这一切的地方,我们现在终于可以开始参数传递到我们的应用程序,你的

AppComponent
进口
Router
ActivatedRoute
Params
@angular/router
让你
AppComponent
看起来是这样的:

import { Component, OnDestroy, onInit } from '@angular/core';import { Router, ActivatedRoute, Params } from '@angular/router';import { Subscription } from 'rxjs/Subscription';export class AppComponent implements OnInit, onDestroy {  private var1: string;  private var2: string;  private sub: Subscription;  constructor(    private route: ActivatedRoute,    private router: Router  ) {}  ngonInit() {    // assign the subscription to a variable so we can unsubscribe to prevent memory leaks    this.sub = this.route.queryParams.subscribe((params: Params) => {      this.var1 = params['var1'];      this.var2 = params['var2'];      console.log(this.var1, this.var2);    });  }  ngonDestroy() {    this.sub.unsubscribe();  }...}

你可以在这里看到拉取请求



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号