2017-03-28 66 views
6

我得到这样的警告:角4和NG-模板

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

采用了棱角分明4, 是这个被照顾的发行版本是什么时候?

谢谢

回答

15

您需要照顾这一点。您需要修改您的密码和更改所有出现的

<template> 

<ng-template> 

<template>引起冲突与<template>标签的其它用途,因此角队改变了它使用<ng-template>对角的目的。这是一个突破性的改变,因此他们没有在Angular2中引入这种变化,而是根据语义版本规则在Angular4中引入了这种变化。

1

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

如果这是你的消息的起源,恐怕不是......一个新的材料版本修复这个问题据说现在正在下降。

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

2

只需使用<ng-template><template>从角4删除,因为它太普通,并创建一些名称冲突,现在角度团队决定一切已经开始ng,因为它是和应该的。

也可以在新的模板使用if else,看看下面的简单的例子:

<ng-template #laoding> 
    <p>Loading...</p> 
</ng-template> 
<p *ngIf="auth | async; else laoding; let user"> 
    {{user.username }} 
</p> 
0

在角度4 NG-模板可用于原样

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

<ng-template #notValidCondition>Good Bye</ng-template>