Sha256: c87ed31b843ccea442533ef1ad34a4ed59b2cd8957fd70cf71f1d0f2ed20e095
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
var _ = require('../util') module.exports = { acceptStatement: true, priority: 700, bind: function () { // deal with iframes if ( this.el.tagName === 'IFRAME' && this.arg !== 'load' ) { var self = this this.iframeBind = function () { _.on(self.el.contentWindow, self.arg, self.handler) } _.on(this.el, 'load', this.iframeBind) } }, update: function (handler) { if (typeof handler !== 'function') { process.env.NODE_ENV !== 'production' && _.warn( 'Directive v-on="' + this.arg + ': ' + this.expression + '" expects a function value, ' + 'got ' + handler ) return } this.reset() var vm = this.vm this.handler = function (e) { e.targetVM = vm vm.$event = e var res = handler(e) vm.$event = null return res } if (this.iframeBind) { this.iframeBind() } else { _.on(this.el, this.arg, this.handler) } }, reset: function () { var el = this.iframeBind ? this.el.contentWindow : this.el if (this.handler) { _.off(el, this.arg, this.handler) } }, unbind: function () { this.reset() _.off(this.el, 'load', this.iframeBind) } }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
plate-lang-0.1.2 | skeleton/vendor/vue/src/directives/on.js |
plate-lang-0.1.1 | skeleton/vendor/vue/src/directives/on.js |
plate-lang-0.1.0 | skeleton/vendor/vue/src/directives/on.js |