Sha256: 1570acbb18d09771b83398565a35853a13fee681775bdcba528fbab1c8afa8fa
Contents?: true
Size: 1.24 KB
Versions: 5
Compression:
Stored size: 1.24 KB
Contents
var _ = require('../../util') var handlers = { _default: require('./default'), radio: require('./radio'), select: require('./select'), checkbox: require('./checkbox') } module.exports = { priority: 800, twoWay: true, handlers: handlers, /** * Possible elements: * <select> * <textarea> * <input type="*"> * - text * - checkbox * - radio * - number * - TODO: more types may be supplied as a plugin */ bind: function () { // friendly warning... var filters = this.filters if (filters && filters.read && !filters.write) { _.warn( 'It seems you are using a read-only filter with ' + 'v-model. You might want to use a two-way filter ' + 'to ensure correct behavior.' ) } var el = this.el var tag = el.tagName var handler if (tag === 'INPUT') { handler = handlers[el.type] || handlers._default } else if (tag === 'SELECT') { handler = handlers.select } else if (tag === 'TEXTAREA') { handler = handlers._default } else { _.warn("v-model doesn't support element type: " + tag) return } handler.bind.call(this) this.update = handler.update this.unbind = handler.unbind } }
Version data entries
5 entries across 5 versions & 1 rubygems