在这段代码中:
<input class="form-control" ng-model="actionText" />
AngularJS将在用户输入内容时更新模型actionText.如果此模型在其他地方使用,例如在控制器中,则会在键入每个字符时更新.我可以想到那些实际上可能是坏事的情况.也许您只需要用户将焦点从输入移动到其他内容后的模型值,例如当您需要在输入完成时验证输入时.我可以使用Javascript的模糊函数来设置处理程序,以确定何时焦点丢失,但这似乎与Angular的方式相反.输入失去焦点后是否有AngularJS更新模型的方法?
您可以使用ngModelOptions指令.使用ngModelOptions,您可以进一步优化ngModel指令的工作方式.要实现您的要求,您可以像这样使用它:
<input class="form-control" ng-model="actionText" ng-model-options="{ updateOn: 'blur'}"/>
您可以在角度文档中找到更多信息和工作示例:https://docs.angularjs.org/api/ng/directive/ngModelOptions