update model from custom directive VueJS

后端 未结 2 901
我寻月下人不归
我寻月下人不归 2021-02-19 07:33

I currently use Vue.JS 2.0 and I want to update the model off one Vue instance from an custom directive, but im looking a nice way to do it, this is because i trying to create a

2条回答
  •  长发绾君心
    2021-02-19 07:43

    Just to follow up on @Kamal Khan's answer (which works great).

    I have just done the following and got it to work (below). This removes finding the object and relies on Vue's set functionality to set the value.

    bind: function (el, binding, vnode) {
        $(el).datepicker({
            onSelect: function (date) {
                 Vue.set(vnode.context, binding.expression, date);
             }
        });
    },
    

    My full directive is:

      Vue.directive("datepicker",{
        bind(el,binding, vnode) {
           console.log(binding);
           var self = el
          $(self).datepicker({
            dateFormat:'mm-dd-yy',
            onSelect: function (date) {
                Vue.set(vnode.context, binding.expression, date);
            }
        });      
        },
        updated: function (el,binding) {
        }
     });  
    

    I can then call this in the template or html with:

      
    

    with dtime being my data model value.

    Hope this helps somebody else as this drove me nuts.

提交回复
热议问题