Ram*_*ran 3 html javascript angular-ngmodel angular angular-ngmodelchange
怎么样ngModelChange()?
(ngModelChange)是
ngModel指令的@Output .它在模型改变时触发.如果没有ngModel指令,则不能使用此事件
但我不确定,ngModelChange它是如何工作的,如果我使用ngModelChange()事件,即使我没有提供模型名称ngModel.
<input #gb type="text" pInputText class="ui-widget ui-text" **ngModel**
(ngModelChange)="functionName($event)">
Run Code Online (Sandbox Code Playgroud)
是的,ngModelChange()在不向ngModel提供模型名称的情况下工作.
发生这种情况的原因,(ngModelChange)是ngModel指令的@Output.当在输入中插入一些值时,emitEvent变为true,默认为false(因此它不会在初始时触发页面加载).
_this.updateValueAndValidity({emitEvent:false});
你可以在 \ @angular\forms\esm5\forms.js找到►行号3850
如果emitEvent是true,此更改将导致发出valueChanges事件FormControl.默认为true(当它落到时updateValueAndValidity).
如果emitViewToModelChange是true,则将触发ngModelChange事件以更新模型.如果emitViewToModelChange未指定,则这是默认行为.
如果emitModelToViewChange是true,则将通过onChange事件向视图通知新值.
现在的问题是,为什么在$ event中得到相同的值,而不是因为ture这个原因导入了
FormControl.prototype.setValue =/**
function (value, options) {
var _this = this;
if (options === void 0) { options = {}; }
(/** @type {?} */ (this)).value = this._pendingValue = value;
if (this._onChange.length && options.emitModelToViewChange !== false) {
this._onChange.forEach(function (changeFn) { return changeFn(_this.value, options.emitViewToModelChange !== false); });
}
this.updateValueAndValidity(options);
};
Run Code Online (Sandbox Code Playgroud)
相同的文件行号3911至3919
| 归档时间: |
|
| 查看次数: |
1472 次 |
| 最近记录: |