如何从外部将数据传递到Angular应用程序

时间:2018-09-07 15:29:04

标签: angular routes

假设我有一个在 localhost:4200 上运行的Angular应用程序,如何将数据传递到Angular应用程序以便它可以使用此数据?
例如,我的Angular应用中的路由是这样配置的(在 app.module.ts 中):

...
const appRoutes: Routes = [
  { path: '**', component: DownloadZipFormComponent }
];

@NgModule({
  declarations: [
    AppComponent,
    DownloadZipFormComponent
  ],
  imports: [
    RouterModule.forRoot(
      appRoutes,
      { enableTracing: true }
    ),
    BrowserModule,
    HttpClientModule,
    ReactiveFormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
...

因此,浏览器地址栏中以 localhost:4200 / 开头的所有网址都将与我的 DownloadZipComponent 并打开与其相关的html页面。

这就是我想做的:访问 localhost:4200 时,我想向其中传递一些数据,以便页面被显示可以使用此数据来呈现页面。更确切地说,我想传递一个json数组,其中每个项目都是一个远程URL,我可以从该URL下载文件(例如this one),然后我要我的组件 DownloadZipComponent ,以使用此json数组在网页中显示复选框列表,以便用户可以通过选中和取消选中复选框来选择要下载的文件。 (我使用jszip来完成工作:感染文件===>压缩===>下载)

据我所知,URL的限制长度为2048个字符,但是我想作为参数传递给url的json数组的长度,例如 localhost:4200?jsonArray =.。 。 可能超过2048个字符。
简而言之,三个问题:

  
      
  1. 如何将我上面提到的json数组正确传递给Angular应用?

  2.   
  3. 我的Angular应用程序如何使用我传递给它的json数组(使用Angular路由机制)?

  4.   
  5. 是否可以使用POST方法来访问我的Angular应用程序,这样我就不必担心“ 2048个字符的长度”限制   网址查询了(因为我可以将数据放入正文中)?如果是这样,我的Angular应用程序如何从POST方法主体中检索数据?

  6.   

0 个答案:

没有答案