Have ideas to improve npm?Join in the discussion! »

    ngmodeloptions

    1.0.1 • Public • Published

    ngModelOptions for AngularJS 1.2

    Directive to bring functionality similar to the new Angular 1.3 ngModelOptions to Angular 1.2, for those stuck supporting IE8 and/or legacy code.

    Works well with all input types (text, number, date, radio, checkbox, select) and doesn't break Angular validation.

    Example

    Include the module

    angular.module("myApp", ["modelOptions"]);
    

    Pass some options

    <input type="text"
       ng-model="my.model"
       ng-model-options="{ debounce: 1000 }" />
    

    Supports the same syntax as official ngModelOptions

    <textarea ng-model="my.model"
    		  ng-model-options="{ updateOn: 'default blur', debounce: {'default': 2000, 'blur': 500} }">
    </textarea>
    

    Limitations

    Currently only supports the debounce and updateOn options.

    Select

    With select elements, the first blank dummy option is not removed when this directive is used. With IE8, the removal of this inital blank option when a valid option is selected never worked in Angular anyway, so it's best to add a disabled option <option ng-disabled="true" value=""></option> to the select element to solve both problems.

    Events

    Some event listeners are turned off for elements to prevent automattic model updates. e.g. angular uses the click event to update model for radio and checkbox. When using this directive, ng-click will no longer work on radio or checkbox inputs. Similarly ng-change will no longer work if using this directive on a select element. To get around this use alternative events, e.g. on a checkbox use ng-change instead of ng-click or just $watch for changes on the model instead.

    Install

    npm i ngmodeloptions

    DownloadsWeekly Downloads

    22

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • avatar