Je reçois cet avertissement:
The <template> element is deprecated. Use <ng-template> instead ("
[attr.tabIndex]="-1"
[ngClass]="{'k-item': true}">
[WARNING ->]<template *ngIf="template"
[templateContext]="{
lors de l'utilisation de angular 4, est-ce pris en charge pour la version finale?
merci
Vous devez vous en occuper. Vous devez modifier votre code et changer toutes les occurrences de
<template>
à
<ng-template>
<template>
a provoqué des conflits avec d'autres utilisations de <template>
tag, donc l'équipe Angular l'a modifiée pour utiliser <ng-template>
for Angular fins. C'est un changement de rupture, donc ils n'ont pas introduit ce changement dans Angular2 mais seulement dans Angular4 selon les règles de version sémantique.
ng-template in angular 4 can be used as-
<div *ngIf="isValid; else notValidCondition">
Welcome User
</div>
<ng-template #notValidCondition>Good Bye</ng-template>
Utilisez simplement <ng-template>
, <template>
est supprimé de Angular 4 car il est trop générique et crée un conflit de nom, maintenant Angular l'équipe a décidé que tout commence par ng
as c'était et devrait être.
Peut également utiliser if else
dans le nouveau modèle, regardez l'exemple simple ci-dessous:
<ng-template #laoding>
<p>Loading...</p>
</ng-template>
<p *ngIf="auth | async; else laoding; let user">
{{user.username }}
</p>
Le problème peut également ne pas être dans votre code. Par exemple, si vous utilisez la dernière version bêta de @ angular/material @ 2.0.0-beta.2, vous les obtiendrez lorsque vous utiliserez certains composants matériels.
Si c'est l'origine de vos messages, n'ayez crainte ... une nouvelle version de matériel qui corrige cela est censée tomber n'importe quel jour maintenant.
Il faut également dire que ce que vous voyez sont des avertissements de dépréciation qui ne produiront pas d'erreurs dans votre application. Mais ce sont des choses qui doivent être corrigées avant de migrer vers la prochaine version majeure.