web-dev-qa-db-ja.com

angular 4およびng-template

私はこの警告を受けています:

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

angular 4を使用する場合、これはリリースバージョンで処理されますか?

ありがとう

9
idekkers

あなたはそれを大事にする必要があります。あなたはあなたのコードを修正し、すべての発生を変更する必要があります

<template>

<ng-template>

<template><template>タグの他の使用法との競合を引き起こしたため、AngularチームはAngularの目的で<ng-template>を使用するようにタグを変更しました。これは重大な変更であるため、Angular2ではこの変更が導入されず、セマンティックバージョニングルールに従ってAngular4でのみ変更が導入されました。

20

angular 4のng-templateは、

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

<ng-template #notValidCondition>Good Bye</ng-template>
2
Aman Jain

単に<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>
2
Alireza

問題はコードにもない可能性があります。たとえば、@ angular/material @ 2.0.0-beta.2の最後のベータリリースを使用している場合、特定のマテリアルコンポーネントを使用すると、これらが取得されます。

それがあなたのメッセージの起源であるならば、恐れないでください...これを修正する新しいマテリアルリリースはいつの日か落ちると言われています。

また、表示されているのは、アプリケーションでエラーが発生しない非推奨の警告であることも言う必要があります。ただし、次のメジャーリリースに移行する前に修正する必要があるものです。

1
IndyWill