我收到此警告:
The <template> element is deprecated. Use <ng-template> instead ("
[attr.tabIndex]="-1"
[ngClass]="{'k-item': true}">
[WARNING ->]<template *ngIf="template"
[templateContext]="{
使用 Angular 4 时,发布版本是否正在处理此问题?
谢谢
你需要照顾好这一点。您需要修改代码并更改所有出现的
<template>
自
<ng-template>
<template>
导致与<template>
标签的其他用法发生冲突,因此 Angular 团队将其更改为将<ng-template>
用于 Angular 目的。这是一个重大更改,因此他们没有在 Angular2 中引入此更改,而只是根据语义版本控制规则在 Angular4 中引入此更改。
只需使用 <ng-template>
,<template>
从 Angular 4 中删除,因为它太通用并产生一些名称冲突,现在 Angular 团队决定让一切都以 ng
开头,因为它过去和应该如此。
也可以在新的模板中使用if else
,看看下面的简单例子:
<ng-template #laoding>
<p>Loading...</p>
</ng-template>
<p *ngIf="auth | async; else laoding; let user">
{{user.username }}
</p>
4 中的 ng-template 可以用作-
<div *ngIf="isValid; else notValidCondition">
Welcome User
</div>
<ng-template #notValidCondition>Good Bye</ng-template>
问题也可能不在您的代码中。例如,如果您使用的是 @angular/material@2.0.0-beta.2 的最后一个测试版,则在使用某些材料组件时会获得这些组件。
如果这是你消息的来源,不要害怕......据说解决这个问题的新材料版本现在随时都会下降。
还需要说明的是,您看到的是弃用警告,不会在应用程序中产生错误。但是,在迁移到下一个主要版本之前,需要更正它们。