我正在将我的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,但没有运气。 有人知道,解决这个错误的方法吗?
答案 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';`