javascript - AngularJS - 如何在指令中取消同步 $viewValue 和 $modelValue

标签 javascript angularjs angularjs-directive

我正在使用 Angular JS 1.5.6,我想以编程方式取消同步 $viewValue 和 $modelValue,我希望 $viewValue 保持其当前值,但将 $modelValue 设置为未定义。我尝试了 modelCtrl.$modelValue = undefined 但它不起作用。

这是我的指令的代码

function blurFocusDirective() {
return {
  require: 'ngModel',
  link: function(scope, elm, attrs, modelCtrl) {
    elm.on('blur', function() {
      console.log('capture blur event');          
      modelCtrl.$modelValue = undefined;
    });
  }
};}

我有plunkered我的问题。

最佳答案

通过用 ngModel.$setViewValue(undefined); 替换 modelCtrl.$modelValue = undefined; 进行修复

关于javascript - AngularJS - 如何在指令中取消同步 $viewValue 和 $modelValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40652932/

相关文章:

angularjs - 如何更新Angular js中的ng-repeat值?

javascript - 当我改变容器 <div> 的宽度时,里面的 <div> 也应该相应地改变

javascript - 没有 ID 时使用 jQuery 填写表单

angularjs - angular js以编程方式将表单设置为脏

angularjs - ng-grid cellTemplate 问题与单元格的背景颜色

javascript - 防止指令编译 Angular

node.js - Angularjs socket.io 服务

javascript - 如何收集 div 内的所有复选框元素?

JavaScript 构造函数、原型(prototype)附加方法和 'this'

javascript - Firebase 简单登录 + Angular - 每个用户自己的数据