【问题标题】:angular 4 and ng-template角度 4 和 ng 模板
【发布时间】:2017-03-28 12:55:20
【问题描述】:

我收到此警告:

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

当使用角度 4 时, 发布版本会处理这个问题吗?

谢谢

【问题讨论】:

    标签: angular angular4 ng-template


    【解决方案1】:

    您需要注意这一点。您需要修改您的代码并更改所有出现的

    <template>
    

    <ng-template>
    

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

    【讨论】:

      【解决方案2】:

      只需使用&lt;ng-template&gt;&lt;template&gt; 已从 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>
      

      【讨论】:

        【解决方案3】:

        angular 4 中的 ng-template 可以用作-

        <div *ngIf="isValid; else notValidCondition">
             Welcome User
        </div>
        
        <ng-template #notValidCondition>Good Bye</ng-template>
        

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-02-21
            • 2016-12-18
            • 2017-03-04
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多