typescript 如何从组件中打开新选项卡

cgvd09ve  于 2023-05-30  发布在  TypeScript
关注(0)|答案(1)|浏览(234)

我有一个简单的有两个组件的Angular 应用程序。我想在新选项卡中打开一个组件。
这是我的申请表。
在我的AppComponent.html文件中有一个按钮。当我点击这个按钮时,我想在另一个选项卡中打开MapComponent.html文件。在本例中,我不想将AppComponent按钮移动到MapComponent.html文件中。openMapInNewTab(address: string)我想把地址传递给MapComponent.html文件,并根据给定的地址显示谷歌Map。在谷歌Map的顶部,我想添加用户指南,如何从Map上获取lat lng。这就是为什么我想在新组件中打开Map,然后才想保持高度和宽度为200px。我怎样才能做到这一点。我已经尝试了添加路线和许多方法。但我做不到。

AppComponent.ts文件

import { Component } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'routeApp';

  constructor(private router: Router) {}

  openMapInNewTab(address: string) {    
  }
}

AppComponent.html文件

<button (click)="openMapInNewTab()">Open Map</button>

MapComponent.ts文件

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-map',
  templateUrl: './map.component.html',
  styleUrls: ['./map.component.css']
})
export class MapComponent implements OnInit {

  ngOnInit(): void {
    
  }   
}

MapComponent.html文件

<p>map works!</p>

AppRoutingModule文件

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { MapComponent } from './map/map.component';

const routes: Routes = [
  {path: 'map', component: MapComponent}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
fnatzsnv

fnatzsnv1#

很难说你想做什么。有几件事需要考虑:

  1. html openMapInNewTab方法与openMapInNewTab方法不匹配。html不传递任何东西,但类型脚本需要字符串。
    1.我不确定你是否知道你在做什么。如果您想从当前组件转到map,则使用user [routerLink],但如果您试图将map组件显示为当前页面的一部分,则只需在html中包含此标记:
    <app-map></app-map>
    或者你想转到浏览器的另一个标签页?then use an锚with target="_blank”

相关问题