未捕获的错误:模板解析错误:"让 - "仅在ng-template元素上受支持。

时间:2018-02-22 13:37:43

标签: angular angular5 ng2-bootstrap ngx-bootstrap

我正在将我的angular-cli项目从Angular-4迁移到Angular-5,但是遇到这个错误,有谁知道解决这个错误的任何解决方案?

Uncaught Error: Template parse errors:
"let-" is only supported on ng-template elements. ("
<template #tourStep [ERROR ->]let-step="step">
  <p class="tour-step-content">{{step?.content}}</p>
  <div class="tour-step"): ng:///TourNgBootstrapModule /TourStepTemplateComponent.html@1:24
at syntaxError (compiler.js:466)

我尝试过安装ngx-bootstrap,但没有运气。 有人知道,解决这个错误的方法吗?

4 个答案:

答案 0 :(得分:2)

错误说明了一切。 标记<template>正在放弃,因此您需要将其更改为html中的<ng-template>

答案 1 :(得分:2)

看起来您使用的是1.9.3版。

ngx-bootstrap 1.9.3仅支持角度2和4.请更新到最新版本(2.0.2),它将在角度5下正常工作

答案 2 :(得分:2)

使用<ng-template #tourStep let-step="step"> </ng-template>代替<template>

答案 3 :(得分:1)

经过长时间的搜索,我找到了解决方案,将“模板”替换为“ng-template”是其中一个解决方案,但是这个问题是因为如果你使用的是与ngx-bootstrap不兼容的对等版本,那么它是一个错误。 以前容易出错的package.json是这样的。这就是我解决问题的方法。

{
   ....
   ....
   "dependencies": {
   "@angular/animations": "5.0.4",
   "@angular/cdk": "5.0.0-rc.2",
   "@angular/common": "5.0.4",
   "@angular/compiler": "5.0.4",
   "@angular/core": "5.0.4",
   "@angular/forms": "5.0.4",
   "@angular/http": "5.0.4",
   "@angular/material": "5.1.0",
   "@angular/platform-browser": "5.0.4",
   "@angular/platform-browser-dynamic": "5.0.4",

    "ng2-bootstrap": "^1.2.5",
    "ng2-tour": "0.1.6",
   ....
   ....
}

及以下版本已修复版本,因此我使用了"ngx-bootstrap": "^2.0.2", "ngx-tour": "0.0.1"

{
  ....
  ....
  "dependencies": {
  "@angular/animations": "5.0.4",
  "@angular/cdk": "5.0.0-rc.2",
  "@angular/common": "5.0.4",
  "@angular/compiler": "5.0.4",
  "@angular/core": "5.0.4",
  "@angular/forms": "5.0.4",
  "@angular/http": "5.0.4",
  "@angular/material": "5.1.0",
  "@angular/platform-browser": "5.0.4",
  "@angular/platform-browser-dynamic": "5.0.4",

  "ngx-bootstrap": "^2.0.2",
  "ngx-tour": "0.0.1,
  ....
  ....
}

并在app.module.ts中更改以导入TourNgBootstrapModule

`import {TourNgBootstrapModule} from 'ngx-tour-ng-bootstrap';`