Флажок ничего не передает объекту Vue при первом нажатии - PullRequest
0 голосов
/ 16 мая 2018

У меня есть несколько флажков, похожих на это

<input :disabled="update.spinner" v-model="searchRequest.age" :value="age" type="checkbox" :id="age" @click="getFilters(searchRequest)"></input>

, и у меня есть компонент Vue

Vue.component('filters',{
        template:filtertemplate,
        props: ['filters', 'loadLimit','students', 'counter', 'hobbies','update','filterParams', 'filterLoaded'],
        data(){
            return{
                filteredData: this.filters,
                selectedHobbies:[],
                searchRequest:{
                    gender:[],
                    age: [],
                    hobby:[],
                }
            }
        },
        components: {
            'v-select': ('v-select', VueSelect.VueSelect)
        },
        methods:{
            getFilters: function (obj) {
                debugger
                var self = this;
                //check if filterParams empty if true encode to uri
                if(!obj == 0){studentProfiles.getDatasAsUriParameters(obj)}
            },
            sendRequest: function(counter,url) {
                var self = this;
                studentProfiles.counter = 0;
                studentProfiles.students = [];
                studentProfiles.update.spinner = true;
                studentProfiles.getData(counter,url,this.filterParams);
            }
        }
    });

Когда я отмечаю флажок в первый раз, кажется, проверяется наэкран, но filterParams не обновляются.Когда я снимаю этот флажок или другой, значение первого поля передается в filterParams .

Что может помешать флажку передавать его значение в params?

1 Ответ

0 голосов
/ 16 мая 2018

@click вызовет событие щелчка, а затем в конечном итоге вызовет событие @change. Вы пытаетесь проверить значение сразу после срабатывания @click. @change еще не запущен, и поэтому вы не получаете правильное значение.

Попробуйте заменить @click на @change, и оно должно работать, так как оно будет срабатывать после изменения значения флажка.

click и change событие, подробно объясненное T.J.Crowder здесь

...