TypeScript

29
Jan
angular 自定义组件使用ngModel
我们通常使用ngModel在模板上双向绑定数据,但是ngModel只作用于基本标签,我们自定义的组件没办法直接使用。如果我们要把input标签封装成一个组件,也是可以使用ngModel的,需要这个组件实现ControlValueAccessor接口,并且注入NG_VALUE_ACCESSOR。import { ControlValueAccessor } from '@angular/forms'; import { Component, OnInit, Input, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSO...
267
2020/01/29
14
Jan
Angular 路由跳转改变头部栏
这是一个很常见的需求,多个页面共用一个header,跳转不同的路由,header显示不同的内容,比如标题等。在React或者Vue中,我们常会使用状态管理来处理这类需求,例如vuex。在Angular中,因为有service这一概念,service是单例的,通过依赖注入到各个组件的,所以不需要状态管理。header.service.ts所以,我们需要创建一个service来管理header的状态。@Injectable({ providedIn: 'root' }) export class HeaderService { private title: string; pu...
199
2020/01/14
25
Apr
Egret帧动画和时间动画
帧动画通过侦听egret.Event.ENTER_FRAME事件来实现逐帧动画官方给出的例子:给BOSS侦听帧事件,每一帧时回调this.onEnterFrame函数,可实现一些诸如移动的效果。 private onEnterFrame(event:egret.Event) { var x = this.boss.x; var y = this.boss.y; if( y < this.stage.stageHeight - this.boss.height) { this.boss.y += thi...
1,247
2018/04/25