9

我收到这个警告:

The <template> element is deprecated. Use <ng-template> instead ("
        [attr.tabIndex]="-1"
        [ngClass]="{'k-item': true}">
        [WARNING ->]<template *ngIf="template"
            [templateContext]="{

使用 Angular 4 时,发布版本是否会处理这个问题?

谢谢

4

4 回答 4

21

你需要照顾好它。您需要修改代码并更改所有出现的

<template>

<ng-template>

<template>导致与标签的其他用法发生冲突<template>,因此 Angular 团队将其更改为<ng-template>用于 Angular 目的。这是一个突破性的变化,因此他们没有在 Angular2 中引入这种变化,而只是根据语义版本控制规则在 Angular4 中引入。

于 2017-03-28T16:16:47.537 回答
2

简单地使用<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>
于 2017-05-25T14:23:32.307 回答
2

角度 4 中的 ng-template 可以用作-

<div *ngIf="isValid; else notValidCondition">
     Welcome User
</div>

<ng-template #notValidCondition>Good Bye</ng-template>
于 2017-08-30T11:18:01.897 回答
1

问题也可能不在您的代码中。例如,如果您使用的是 @angular/material@2.0.0-beta.2 的最新 beta 版本,那么当您使用某些材质组件时,您会得到这些。

如果那是您的消息的来源,请不要担心……据说现在任何一天都会发布解决此问题的新材料版本。

还需要说明的是,您看到的是弃用警告,不会在您的应用程序中产生错误。但在迁移到下一个主要版本之前,它们是需要更正的东西。

于 2017-03-29T16:24:38.553 回答