Inject <input> in innerHTML angular 2

后端 未结 3 1874
南方客
南方客 2020-12-05 14:25

I am trying to inject a input HTML tag with Angular 2, here is my project :

    

The .ts :<

3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-05 15:11

    create sanitizing.ts file when you use it for bind inner html.

    import { Pipe, PipeTransform } from "@angular/core";
    import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
    
    @Pipe({
      name: 'sanitizeHtml'
    })
    export class SanitizeHtmlPipe implements PipeTransform {
    
      constructor(private _sanitizer:DomSanitizer) {
      }
    
      transform(v:string):SafeHtml {
        return this._sanitizer.bypassSecurityTrustHtml(v);
      }
    }
    

    now register this module into your app.module.ts

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { FormsModule } from '@angular/forms';
    import { HttpModule } from '@angular/http';
    import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
    import { routes } from './app.routing';
    
    import { SanitizeHtmlPipe } from './product_details/filter';
    
    @NgModule({
      declarations: [
        SanitizeHtmlPipe
      ],
      imports: [
        BrowserModule,
        FormsModule,
        HttpModule,
        BrowserAnimationsModule,
        CookieLawModule,
        routes
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    

    now use when you can bind your html eg. productDetails.html

    Detail

    Product
    Name:- {{ product_details.product_name }}
    Price:- {{ product_details.product_price }}
    Selling Price:- {{ product_details.product_discount_price }}

提交回复
热议问题