Angular 2 自定义 双向绑定 属性


import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';

@Component({
    selector: 'twoway',
    template: `
       <input [(ngModel)]="username">
       <p>Hello {{username}}!</p>
    `
})
export class TwoWayComponent implements OnInit {
    constructor() { }

    usernameValue: string;
    @Output() usernameChange = new EventEmitter();

    @Input()
    get username() {
        return this.usernameValue;
    }
    set username(val) {
        this.usernameValue = val;
        this.usernameChange.emit(this.usernameValue);
    }

    ngOnInit() {

    }
}

使用时,就可以通过[(username)]=“你的当前属性” 进行双向绑定了。属性名 + 后缀 Change是一个约定的固定写法。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM