码:
<input type="text" ng-modal="name" /> {{name}}
当我在中输入内容时input,以下内容{{name}}将立即更改。是否可以配置它仅name在输入所有字符并保留输入后才更新?
input
{{name}}
name
更新资料
正如许多人提到的那样,Angular现在使用ng-model-options指令对此提供了内置支持。在这里查看更多。
ng-model-options
<input type="text" ng-model="name" ng-model-options="{updateOn: 'blur'}" />
下面的旧答案:
ng-model没有内置选项来更改该行为,但是您可以编写一个自定义指令来执行此操作。@Gloopy 写了这样的指令。你可以在这里看看小提琴。
该指令从input和keydown事件中注销,这些事件在每次击键后触发更新。
keydown
<input type="text" ng-model="name" ng-model-onblur />
更新:
更新了小提琴以使用最新的稳定AngularJS(在撰写本文时为1.2.16),而不是直接在github上引用主版本。
还添加了显式优先级,以便在执行伪指令后ng-model才能确保正确更改事件侦听器。
ng-model