angular 2 template use console.log

前端 未结 3 444
滥情空心
滥情空心 2021-02-01 13:16

I would like to use the console.log inside the inline template but can\'t find any directions.

@Component({
  selector:\"main\",
  providers: [ItemService],
  te         


        
相关标签:
3条回答
  • 2021-02-01 13:41

    You can't access globals, statics, ...

    You can only access properties of the component the view belongs to.

    You can add a

    log(val) { console.log(val); }
    

    to your component and use it like

    {{log(item)}} 
    

    but be prepared this to be logged quite often (every time change detection runs).

    For debugging I prefer

     {{item | json}} 
    
    0 讨论(0)
  • 2021-02-01 13:55

    Better way to do it :

    This way you can access all the console properties on template side


    Component side :

    export class AppComponent  {
      console = console;
    }
    

    Template Side :

    {{ console.log('----------------> Logging') }}
    {{ console.warn('----------------> Warning') }}
    {{ console.error('----------------> error') }}
    

    WORKING DEMO

    0 讨论(0)
  • 2021-02-01 13:56

    an easy way to debug is to create a pipe for that :

    import { Pipe, PipeTransform } from '@angular/core';
    
    @Pipe({
        name: 'log'
    })
    export class LogPipe implements PipeTransform {
        transform(value: any, args?: any): any {
            console.log(value);
            return null;
        }
    }
    

    Then you just have to write this in the template :

    {{ variable | log }}
    
    0 讨论(0)
提交回复
热议问题