管道内的“无法读取null属性”-Angular 7

时间:2019-04-15 16:18:47

标签: angular

我试图传送从服务器接收到的信息。一切正常,但唯一的问题是我在组件初始化上收到“无法读取null的属性”

 <span [outerHTML]="contract?.content | replaceLineBreaks"></span>

管道

import { Pipe, PipeTransform } from '@angular/core';


    @Pipe({name: 'replaceLineBreaks'})
    export class ReplaceLineBreaks implements PipeTransform {
      transform(value: string): string {
          return value.replace(/\n/g, '<br/>');
      }
    }

1 个答案:

答案 0 :(得分:1)

您写了contract?.content。这意味着在第一个更改检测周期中,HTTP请求完成时,该数据将为undefined

然后,您应使用类似以下方式处理管道中的undefined情况:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({name: 'replaceLineBreaks'})
export class ReplaceLineBreaks implements PipeTransform {
    transform(value: string): string {
        return value ? value.replace(/\n/g, '<br/>') :  "";
    }
}