Angularjs - 设置视图值不更新显示

hak*_*aki 6 angularjs angular-ngmodel

我有一个输入指令,应该允许用户撤消.

Enter使用某些功能保存值,Esc取消上次保存的编辑.

对于Esc我正在使用的按键事件,ngmodel.$setViewValue(scope.last_saved_value)输入没有更新.我从文档中知道这个函数没有触发,$digest所以我把它放在一个$apply但它仍然无法正常工作.

JSBIN示例

Iva*_*lev 37

ngmodel.$render();在你做之后尝试打电话$setViewValue,它应该有所帮助.


dav*_*ave 2

我通常包括并要求ngModel

app.directive('cancelableInput', function($timeout) { 
  return { 
    restrict : "A",
    require : 'ngModel', 
    scope: {
      ngModel: '=?'
    },
Run Code Online (Sandbox Code Playgroud)

然后,当您想要更改模型值并更新它时,您可以这样做:

scope.$apply(function() {
  scope.ngModel = scope.last_saved_value;
});
Run Code Online (Sandbox Code Playgroud)