2017-03-28 100 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>