angular cli选项卡数据切换无法处理错误

angular cli选项卡数据切换无法处理错误,angular,angular-cli,Angular,Angular Cli,我在客户端使用angular框架 我在项目中添加了一个新模块和一些组件,然后在页面上添加了两个选项卡,如下所示: <ul class="nav nav-tabs in" id="tabs"> <li class="active"> <a data-toggle="tab" href="#number1"> <i class="fa fa-clock-o"></i>

我在客户端使用angular框架

我在项目中添加了一个新模块和一些组件,然后在页面上添加了两个选项卡,如下所示:

    <ul class="nav nav-tabs in" id="tabs">
      <li class="active">
        <a data-toggle="tab" href="#number1">
          <i class="fa fa-clock-o"></i>
          <span>tab 1</span>
        </a>
      </li>

      <li>
        <a data-toggle="tab" href="#number2">
          <i class="fa fa-facebook"></i>
          <span>tab 2</span>
        </a>
      </li>
    </ul>


    <div class="no-padding">
    <div class="body">
      <div id="myTabContent" class="tab-content">

        <first-component class="tab-pane fade active in padding-10 no-padding-bottom" id="number1"></first-component>
        <second-component class="tab-pane fade" id="number2"></second-component>
      </div>
    </div>
  </div>
单击选项卡时,我发现以下错误:

    ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'number1'
Error: Cannot match any routes. URL Segment: 'number1'
    at ApplyRedirects.push../node_modules/@angular/router/fesm5/router.js.ApplyRedirects.noMatchError (router.js:2469)
    at CatchSubscriber.selector (router.js:2450)
    at CatchSubscriber.push../node_modules/rxjs/_esm5/internal/operators/catchError.js.CatchSubscriber.error (catchError.js:34)
    at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._error (Subscriber.js:80)
    at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:60)
    at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._error (Subscriber.js:80)
    at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:60)
    at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._error (Subscriber.js:80)
    at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:60)
    at TapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/tap.js.TapSubscriber._error (tap.js:61)
    at resolvePromise (zone.js:831)
    at resolvePromise (zone.js:788)
    at zone.js:892
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
    at Object.onInvokeTask (core.js:17280)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:195)
    at drainMicroTaskQueue (zone.js:601)
    at push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask (zone.js:502)
    at ZoneTask.invoke (zone.js:487)
window.console.error @ VM669:37
defaultErrorLogger @ core.js:15714
push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError @ core.js:15762
next @ core.js:17761
schedulerFn @ core.js:13504
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:13488
(anonymous) @ core.js:17311
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:17248
onHandleError @ core.js:17311
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.handleError @ zone.js:395
push../node_modules/zone.js/dist/zone.js.Zone.runGuarded @ zone.js:164
_loop_1 @ zone.js:694
api.microtaskDrainDone @ zone.js:703
drainMicroTaskQueue @ zone.js:608
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502
ZoneTask.invoke @ zone.js:487
timer @ zone.js:2281
setTimeout (async)
scheduleTask @ zone.js:2302
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:410
onScheduleTask @ zone.js:301
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:404
push../node_modules/zone.js/dist/zone.js.Zone.scheduleTask @ zone.js:238
push../node_modules/zone.js/dist/zone.js.Zone.scheduleMacroTask @ zone.js:261
scheduleMacroTaskWithCurrentZone @ zone.js:1245
(anonymous) @ zone.js:2317
proto.(anonymous function) @ zone.js:1569
(anonymous) @ router.js:4064
schedulerFn @ core.js:13504
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:13488
(anonymous) @ common.js:151
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:423
onInvokeTask @ core.js:17280
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
zone.js:199 Uncaught TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)
    at console.window.console.error (<anonymous>:39:101)
    at defaultErrorLogger (core.js:15714)
    at ErrorHandler.push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError (core.js:15762)
    at Object.next (core.js:17761)
    at SafeSubscriber.schedulerFn [as _next] (core.js:13504)
    at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:196)
    at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (Subscriber.js:134)
    at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (Subscriber.js:77)
    at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54)
错误错误:未捕获(承诺中):错误:无法匹配任何路由。URL段:'number1'
错误:无法匹配任何路由。URL段:'number1'
在ApplyRedirects.push../node_modules/@angular/router/fesm5/router.js.ApplyRedirects.noMatchError(router.js:2469)
在CatchSubscriber.selector(router.js:2450)
在CatchSubscriber.push../node_modules/rxjs/_esm5/internal/operators/catchError.js.CatchSubscriber.error(catchError.js:34)
在MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u错误(Subscriber.js:80)
在MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error(Subscriber.js:60)
在MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u错误(Subscriber.js:80)
在MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error(Subscriber.js:60)
在MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u错误(Subscriber.js:80)
在MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error(Subscriber.js:60)
在TapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/tap.js.TapSubscriber.\u错误(tap.js:61)
在resolvePromise(zone.js:831)
在resolvePromise(zone.js:788)
在zone.js:892
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask(zone.js:423)
位于Object.onInvokeTask(core.js:17280)
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask(zone.js:422)
在Zone.push../node_modules/Zone.js/dist/Zone.js.Zone.runTask(Zone.js:195)
在drainMicroTaskQueue(zone.js:601)
在push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask(zone.js:502)处
在ZoneTask.invoke(zone.js:487)
window.console.error@VM669:37
defaultErrorLogger@core.js:15714
推送../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError@core.js:15762
next@core.js:17761
schedulerFn@core.js:13504
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.\uu tryoruunsubscriber@Subscriber.js:196
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next@Subscriber.js:134
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u next@Subscriber.js:77
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next@Subscriber.js:54
推送../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next@Subject.js:47
推送../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit@core.js:13488
(匿名)@core.js:17311
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke@zone.js:391
推送../node_模块/zone.js/dist/zone.js.zone.run@zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular@core.js:17248
onHandleError@core.js:17311
推送../node_modules/zone.js/dist/zone.js.ZoneDelegate.handleError@zone.js:395
push../node_modules/zone.js/dist/zone.js.zone.runguared@zone.js:164
_loop_1@zone.js:694
api.microtaskDrainDone@zone.js:703
drainMicroTaskQueue@zone.js:608
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask@zone.js:502
ZoneTask.invoke@zone.js:487
timer@zone.js:2281
设置超时(异步)
scheduleTask@zone.js:2302
推送../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask@zone.js:410
onScheduleTask@zone.js:301
推送../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask@zone.js:404
推送../node_modules/zone.js/dist/zone.js.zone.scheduleTask@zone.js:238
push../node_modules/zone.js/dist/zone.js.zone.scheduleMocrotask@zone.js:261
ScheduleMarocTaskWithCurrentZone@zone.js:1245
(匿名)@zone.js:2317
proto.(匿名函数)@zone.js:1569
(匿名)@router.js:4064
schedulerFn@core.js:13504
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.\uu tryoruunsubscriber@Subscriber.js:196
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next@Subscriber.js:134
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u next@Subscriber.js:77
推送../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next@Subscriber.js:54
推送../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next@Subject.js:47
推送../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit@core.js:13488
(匿名)@common.js:151
推送../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask@zone.js:423
onInvokeTask@core.js:17280
推送../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask@zone.js:422
push../node_modules/zone.js/dist/zone.js.zone.runTask@zone.js:195
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask@zone.js:498
invokeTask@zone.js:1744
globalZoneAwareCallback@zone.js:1770
zone.js:199未捕获类型错误:将循环结构转换为JSON
在JSON.stringify()上
在console.window.console.error(:39:101)
默认错误记录器(core.js:15714)
在ErrorHandler.push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError(core.js:15762)
在Object.next(core.js:17761)
SafeSubscriber.schedulerFn[as_next](core.js:13504)
在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.\uu tryOrUnsub(Subscriber.js:196)
在SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next(Subscriber.js:134)
在Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.\u next(Subscriber.js:77)
在Subscriber.push../node_modules/rxjs/_esm5/internal/Subscrib
<a [routerLink]="['/basecomp/tabname1']>Tab1 Link</a>
<a [routerLink]="['/basecomp/tabname1']>Tab2 Link</a>
appRoutes: Routes = [
  { 
    path: "baseComp", component, CompoenntThatHasTabPage,
    children: [
       { path: '', component: Tab1Component },
       { path: 'tabname1', component: Tab1Component },
       { path: 'tabname1', component: Tab2Component }
    ]
   }     
 ];