packages/vue-server-renderer/build.dev.js
function applyModelTransform (el, state) {
  if (el.directives) {
    for (var i = 0; i < el.directives.length; i++) {
      var dir = el.directives[i];
      if (dir.name === 'model') {
        state.directives.model(el, dir, state.warn);
        // remove value for textarea as its converted to text
        if (el.tag === 'textarea' && el.props) {
          el.props = el.props.filter(function (p) { return p.name !== 'value'; });
        }
        break
      }
    }
  }
}
function applyModelTransform (el, state) {
  if (el.directives) {
    for (var i = 0; i < el.directives.length; i++) {
      var dir = el.directives[i];
      if (dir.name === 'model') {
        state.directives.model(el, dir, state.warn);
        // remove value for textarea as its converted to text
        if (el.tag === 'textarea' && el.props) {
          el.props = el.props.filter(function (p) { return p.name !== 'value'; });
        }
        break
      }
    }
  }
}
function applyModelTransform ( el , state ) { if ( el . directives ) { for ( var i = 0 ; i < el . directives . length ; i ++ ) { var dir = el . directives [ i ] ; if ( dir . name === 'model' ) { state . directives . model ( el , dir , state . warn ) ; // remove value for textarea as its converted to text if ( el . tag === 'textarea' && el . props ) { el . props = el . props . filter ( function ( p ) { return p . name !== 'value' ; } ) ; } break } } } }
let the model AST transform translate v-model into appropriate props bindings
let the model AST transform translate v - model into appropriate props bindings