首页 > 代码库 > AngularJS – ngModelController详解

AngularJS – ngModelController详解

    • ngModelController方法

      • $render();

      当视图需要更新的时候会被调用。使用ng-model的指令应该自行实现这个方法。

      • $isEmpty(value);

      该方法用于判断输入值是否为空。
      例如,使用ngModelController的指令需要判断其中是否有输入值的时候会使用该方法。该方法可用来判断值是否为undefined,‘‘,null或者NaN。
      你可以根据自己的需要重载该方法。

      • $setValidity(validationErrorKey, isValid);

      该方法用于改变验证状态,以及在控制变化的验证标准时通知表格。
      这个方法应该由一个验证器来调用。例如,一个解析器或者格式化函数。

      • $setPristine();

      该方法用于设置控制到原始状态。
      该方法可以移除‘ng-dirty‘类并将控制恢复到原始状态(‘ng-pristine‘类)。

      • $setViewValue(value, trigger)方法

        该方法用来更新视图值。这个方法应该在一个视图值发生变化时被调用,一般来说是在一个DOM事件处理函数中。例如,input和select指令就调用了这个函数。
        这个方法将会更新$viewValue属性,然后在$pasers中通将这个值传递给每一个函数,其中包括了验证器。这个值从$parsers输出后,将会被用于$modelValue以及ng-model属性中的表达式。
        最后,所有位于$viewChangeListeners列表中注册的监听器将会被调用。 

      • $cancelUpdate();

      该方法用于取消一次更新并重置输入元素的值以防止$viewCalue发生更新,它会由一个pending debounced事件引发或者是因为input输入框要等待一些未来的事件。 

       

AngularJS – ngModelController详解