angular属性绑定绑定函数,插值表达式插函数,ngIf绑定函数

以前认为angular属性绑定的时候只能绑定属性,官网上也没说能绑定函数,看同事代码的时候被惊呆了,可以绑定函数,而不仅仅是属性,可以绑定函数,而不仅仅是属性,可以绑定函数,而不仅仅是属性,整理一下相关的用法。没想到angular里面还可以这样。

import {Component} from '@angular/core';
@Component({
  templateUrl: './function.component.html'
})
export class FunctionComponent {
  k = 0;

  constructor() {
    this.kGo();
  }

  computer() {
    console.log('computer....');
    return this.k > 10;
  }

  getK() {
    return this.k;
  }

  kGo() {
    setInterval(() => this.k++, 1000);
  }

  getImage() {
    return this.k % 2 ? './assets/1.png' : './assets/2.png';
  }
}

模板是:

<section>
  <img [src]="getImage()">
  <h1>i am function:{{getK()+''}}</h1>
  <h1>i am property:{{k}}</h1>
  <div *ngIf="computer();else jjj;"></div>
  <ng-template #jjj>i am j</ng-template>
</section>

这里写图片描述

我原本以为*ngIf=”computer()函数调用一次就计算出是否显示了就可以了,没想到他不断的再计算。angular的文档说的是:

https://angular.cn/guide/template-syntax#binding-syntax-an-overview

绑定的是expression,但是computer()不是表达式吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值