angularjs ng-paste不会更新模型值
问题原因:
问题出现的原因是ng-paste事件无法直接更新模型的值。ng-paste事件本身不会更新ng-model绑定的值,只是提供了获取用户粘贴内容的机会。
解决方法:
要解决这个问题,可以使用ng-change或者$watch来监测模型的变化。如果想要获取用户粘贴的内容,可以使用ng-paste事件,并通过$event.originalEvent来获取实际的事件对象。
具体解决方法如下所示:
在HTML模板中添加ng-paste事件,同时传递$event.originalEvent作为参数:
在控制器中编写paste函数,通过event.clipboardData.items[0]来获取粘贴的内容:
$scope.paste = function (event) { var item = event.clipboardData.items[0]; item.getAsString(function (data) { console.log(data); }); };
以上就是解决angularjs ng-paste不更新模型值的方法。
相关代码示例可以在这个plunker中查看:http://plnkr.co/edit/ea5y5j