راکت
sina
sina
توسط sina مطرح شد
حل
11 پاسخ

اسکرول بینهایت

سلام دوستان
من دو سه روز هست که infinite-loading رو برای ویو نصب کردم تا اسکرول بینهایت انجام بده برام ولی انقدر در کاربردهای مختلف باگ داره که دیوانم کرده. من چون جاوا اسکریپت تخصصم نیست و از ویو استفاده میکنم زیاد به مشکل میخورم. حالا دوتا سوال دارم. یک چجوری میتونم این پکیج رو که نصب کردم پاک کنم. دوما یک اتریبیت میخوام مثل v-on:click ولی بجای click تابعی باشه که با اسکرول کردن و به محض دیده شدن یک تگ خاص در صفحه نمایش یک تابع کال بشه. ممنون میشم راهنماییم کنید.
@gomnam
@hekmati


ثبت پرسش جدید
Masoomeh
Masoomeh
@zafari.ma.84 سال پیشمطرح شد
0
 <infinite-loading @distance="1" @infinite="infiniteHandler" ></infinite-loading>
infiniteHandler: function ($state) {
                axios({
                    method: "POST",
                    url: 'get-list',
                    data: {tag: JSON.stringify(this.tag), page: this.page},

                }).then(response => {
                        if (response.data.data.length) {
                            this.page += 1;
                            this.lists.push(...response.data.data);
                            $state.loaded();
                        } else {
                            $state.complete();
                        }
                    }
                )

            },

من از این مورد استفاده کردم قبلا و جواب داده
@s.aerospace


علیرضا کفایتی
علیرضا کفایتی
تخصص :برنامه نویس laravel, vue.js
@alirezakefayati4 سال پیشمطرح شد
0

شروع کردن در زمانی که خیلی به جاوااسکریپت مسلط نیستید ، همین دردسر ها و بیشترش رو هم داره و همچنین تسلط شما بر webpack هم میتونه خیلی مهم باشه
تا اونجا که اطلاع دارم برای حذف پکیج از دستور زیر استفاده می شود :

npm uninstall <package-name>

سوال دومتون رو هم متوجه نشدم


sina
sina
@s.aerospace4 سال پیشمطرح شد
0

@gomnam البته حین کار اون چیزایی که نیاز دارم رو یاد میگیرم. سوال دومم این هست مثلا همین صفحه رو درنظر بگیرید. من میخوام فرض بفرمایید وقتی اسکرول میکنم میام پایین و به پیام شما که میرسم یک تابع اجرا بشه.. مثلا یک alert اجرا بشه. یه چیز مثل @click


sina
sina
@s.aerospace4 سال پیشمطرح شد
0

@zafari.ma.8 ممنونم اینو دیدم مثل همین مینویسم البته درخواست از دیتا بیس دارم. ولی جواب نمیده. ببنید وقتی درخواست با پارامتر میزنم جواب نمیده.


Masoomeh
Masoomeh
@zafari.ma.84 سال پیشمطرح شد
0

چی جواب نمیده؟ajax میزنی؟


Masoomeh
Masoomeh
@zafari.ma.84 سال پیشمطرح شد
0
 <infinite-loading @distance="1" @infinite="infiniteHandler" ></infinite-loading>
infiniteHandler: function ($state) {
                axios({
                    method: "POST",
                    url: 'get-list',
                    data: {tag: JSON.stringify(this.tag), page: this.page},

                }).then(response => {
                        if (response.data.data.length) {
                            this.page += 1;
                            this.lists.push(...response.data.data);
                            $state.loaded();
                        } else {
                            $state.complete();
                        }
                    }
                )

            },

من از این مورد استفاده کردم قبلا و جواب داده
@s.aerospace


sina
sina
@s.aerospace4 سال پیشمطرح شد
0

@zafari.ma.8
این کد منه.. ولی فکر کنم اینی که شما نوشتی بهتر باشه

        getProducts($state) {
            Http.get('/category/getProducts?page=' + this.page,{
                params: {
                    categoryId: this.categoryId,
                    sizes: this.filterSizes,
                    colors: this.filterColors,
                    sortType: this.sortType,
                    min: this.minValue,
                    max: this.maxValue,
                }
            }).then(res => {
                return res;
        }).then(res => {
                $.each(res.data.data, (key, value) => {
                this.products.push(value);
        });
            $state.loaded();
        });
            this.page++;
        },

Masoomeh
Masoomeh
@zafari.ma.84 سال پیشمطرح شد
0

چرا متد رو با get نوشتی ولی مثل post داری براش پارامتر میفرستی و چرا اصلا دوتا then داری؟


sina
sina
@s.aerospace4 سال پیشمطرح شد
0

@zafari.ma.8 با post هم نوشتم نشد. دوتا then هم بخاطر سینتکسی بود که دیده بودم. راه حل شما رو ههنوز امتحان نکردم.


sina
sina
@s.aerospace4 سال پیشمطرح شد
0

@zafari.ma.8
بلخره با این کد جواب گرفتم.. خستم کرد واقعا.. ممنونم از کمکتون

       getProducts:function($state){
            Http.post('/category/getProducts?page=' + this.page,{
                categoryId: this.categoryId,
                sizes: this.filterSizes,
                colors: this.filterColors,
                sortType: this.sortType,
                min: this.minValue,
                max: this.maxValue,
            })
                .then(response=>{
                if (response.data.length){
                $.each(response.data, (key, value) => {
                    this.products.push(value);
            });
                this.page += 1;
                $state.loaded();
            }else{
                $state.complete();
            }

        });
        },

Masoomeh
Masoomeh
@zafari.ma.84 سال پیشمطرح شد
0

خداروشکر، خواهش میکنم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام