我正在努力将angularjs2与聚合物结合起来 . 我为聚合物输入元素创建了一个自定义ControlValueAccessor . 当我使用模型驱动程序表单时,我能够显示从组件到UI的值,但如果我在UI中更改值,则它不会反映到组件 . 似乎双向绑定不按预期工作 . 谁可以帮我这个事?

Angular版本:2.0.0-beta.1

import {Directive, ElementRef, Renderer, Self, forwardRef, Provider} from 'angular2/core';
    import {isBlank, CONST_EXPR} from 'angular2/src/facade/lang';
    import {DefaultValueAccessor} from "angular2/common";
    import {NG_VALUE_ACCESSOR} from "angular2/common";
    import {ControlValueAccessor} from "angular2/common";

    const POLYMER_VALUE_ACCESSOR = CONST_EXPR(new Provider(
        NG_VALUE_ACCESSOR, {useExisting: forwardRef(() => PolymerValueAccessor), multi: true}));


    @Directive({
        selector: 'paper-input',
        host: {'(paper-input)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},
        bindings: [POLYMER_VALUE_ACCESSOR]
    })
    export class PolymerValueAccessor implements ControlValueAccessor {
        onChange = (_) => {};
        onTouched = () => {};

        constructor(private _renderer: Renderer, private _elementRef: ElementRef) {
            //this._elementRef.nativeElement.addEventListener('iron-input', (e) => {
            //    this.onChange(e.target.value);
            //});
        }

        writeValue(value: any): void {
            var normalizedValue = isBlank(value) ? '' : value;
            this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);
            //console.log(this._elementRef.nativeElement.renderView);
            //this._elementRef.nativeElement.set('value', normalizedValue);
        }

        registerOnChange(fn: (_: any) => void): void { this.onChange = fn; }
        registerOnTouched(fn: () => void): void { this.onTouched = fn; }
    }