要素を作成するときに反応します<input value={this.valFromStore} />
入力はストアが変更されるまでロックされます。私が入力をする角度4では、一致するような振る舞いをすることができません。 <input [ngModel]="valFromStore" />
これを入力すると、入力の値が変更されます。私がsetterのないゲッターとしてvalFromStoreを設定したとしても。入力を角型の反作用のようにするには
私の入力をストアに結びつける方法はありますか(ngModel)私は単にストアを更新して、私が反応するように変更をカスケードすることができますか?
更新:明確にするための例を追加してください。反応では、testing
の値がetn
のような入力に表示されるように、私の入力が他のすべてのキー入力をドロップすることを期待しています。実際には_currentValueをストアから読み込んだ@inputに、handleChangeをthis.store.dispatch(newValAction)のように呼び出すようにします。
import { Component, OnInit, Input, SimpleChanges } from '@angular/core';
@Component({
selector: 'field-type-text',
templateUrl: './field-type-text.component.html',
styleUrls: ['./field-type-text.component.css']
})
export class FieldTypeTextComponent implements OnInit {
_currentValue: any;
constructor() { }
private counter = 0;
handleChange(e) {
if (this.counter++ % 2) this._currentValue += e[e.length - 1]
}
ngOnInit() {
}
}
HTML
<input type="text" [ngModel]="_currentVal" (ngModelChange)="handleChange($event)" />
また、 ''は運が無かった – matthewdaniel
読み込み専用入力が必要ですか? –
バインドにngmodelを使うべきではなく、ngrxストアから値を手動で処理するべきだと思います! –