Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Getter Setter与Vue v-model和JQuery一起用于日期选择器输入_Javascript_Jquery_Vue.js_Vuejs2_Vue Component - Fatal编程技术网

Javascript 将Getter Setter与Vue v-model和JQuery一起用于日期选择器输入

Javascript 将Getter Setter与Vue v-model和JQuery一起用于日期选择器输入,javascript,jquery,vue.js,vuejs2,vue-component,Javascript,Jquery,Vue.js,Vuejs2,Vue Component,我将jquery插件(datepicker)与vue一起安装,并将其嵌入到一个组件中,该组件带有用于v-model数据流的getter和setter 我成功地将jquery datepicker输入检索到一个v-model组件,但并非无法按如下方式显示它: <DatePickerHelper :value="componentGetObject['## startDate ##']" :signal="triggerSignal" pro="## startDate ##" ><

我将jquery插件(datepicker)与vue一起安装,并将其嵌入到一个组件中,该组件带有用于v-model数据流的getter和setter

我成功地将jquery datepicker输入检索到一个v-model组件,但并非无法按如下方式显示它:

<DatePickerHelper :value="componentGetObject['## startDate ##']"
:signal="triggerSignal" pro="## startDate ##" ></DatePickerHelper>

我应该像在销毁之前一样在
挂载的
上应用它吗


这是来自的后续报告,供您参考

我觉得你没有按照vue的方式来做

什么是代理值?为什么它包含道具?道具应在组件中,而不是在计算中

要使用vue创建jquery日期选择器,必须执行以下操作:

  • 创建一个组件日期选择器
  • 在使用jquery datepicker html的组件内创建一个模板
  • 函数的作用是:侦听日期选择器的jquery更改事件
  • 在“更改”中,向父级发出输入事件,如下所示:

    这是。$emit('input',value)

  • 当您使用该组件时,将创建一个v型模型,并在数据更改时自动更新该模型。。。(由于输入触发事件)
  • 你想怎么做就怎么做

  • 希望这些信息能对您有所帮助。

    奇怪的是,jquery不希望收到
    jquery(this.$el)
    ,所以解决方案是这样的:

        computed: {
            proxyValue: {
                          get() { return this.value; }          
                        }
                      },
        mounted:function(){
            var self = this;
            jquery('#dateInput')
            .datepicker({
                dateFormat: 'yy-mm-dd',
                onSelect: function(newValue) {
                    self.signal({pro: self.pro, val: newValue});        
              }
            });
        }
    

    使用
    设置
    功能完全内置
    安装

    感谢您的回复,原因是
    proxyValue
    道具
    是因为我使用的是Vuex和组件。无论如何,我已经把它整理好了,以防有人对我的答案感兴趣。编辑:是的,你是对的,我把道具放错地方了,已经在片段中修复了,再次感谢。
    <template>
    <div>
        <input v-model.lazy="proxyValue" />        
    </div>
    </template>
    
    props: ['value', 'signal', 'pro' ],
    computed: {
        proxyValue: {                      
                      get() { return this.value; },
                      set(newValue) { 
                        var self = this;
                        jquery(this.$el).datepicker({
                            onSelect: function(newValue) {
                                self.signal({pro: self.pro, val: newValue});        
                          }
                        });
                      }                 
                    }
                  },
    
        computed: {
            proxyValue: {
                          get() { return this.value; }          
                        }
                      },
        mounted:function(){
            var self = this;
            jquery('#dateInput')
            .datepicker({
                dateFormat: 'yy-mm-dd',
                onSelect: function(newValue) {
                    self.signal({pro: self.pro, val: newValue});        
              }
            });
        }