vuejs vue ventajas tutorial hechas guia espaƱol directivas con certification aplicaciones javascript jquery-ui vuejs2

javascript - ventajas - actualizar el modelo de la directiva personalizada VueJS



vue js wikipedia (1)

Actualmente uso Vue.JS 2.0 y quiero actualizar el modelo de una instancia de Vue desde una directiva personalizada, pero estoy buscando una buena manera de hacerlo, esto es porque estoy tratando de crear una directiva personalizada que implemente el código de JQueryUI-Datepicker. es el siguiente:

<input type="text" v-datepicker="app.date" readonly="readonly"/> Vue.directive(''datepicker'', { bind: function (el, binding) { $(el).datepicker({ onSelect: function (date) { //this is executed every time i choose an date from datepicker //pop.app.date = date; //this work find but is not dynamic to parent and is very dirty Vue.set(pop, binding.expression, date); //this should work but nop } }); }, update: function (el, binding) { $(el).datepicker(''setDate'', binding.value); } }); var pop = new Vue({ el: ''#popApp'', data: { app: { date: '''' } } });

Alguien sabe cómo actualizar pop.app.date de forma dinámica desde la directiva, sé que binding.expression devuelve en este ejemplo app.date y date la fecha actual elegida en el datepicker pero no sé cómo actualizar el modelo de la directiva


Esto hará el truco:

// vnode (third argument is required). bind: function (el, binding, vnode) { $(el).datepicker({ onSelect: function (date) { // Set value on the binding expression. // Here we set the date (see last argument). (function set(obj, str, val) { str = str.split(''.''); while (str.length > 1) { obj = obj[str.shift()]; } return obj[str.shift()] = val; })(vnode.context, binding.expression, date); } }); },

Referencia: https://.com/a/10934946/2938326