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

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

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


ثبت پرسش جدید
Masoomeh
@zafari.ma.8 3 سال پیش آپدیت شد
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
@alirezakefayati 3 سال پیش مطرح شد
0

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

npm uninstall <package-name>

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


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

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


Masoomeh
@zafari.ma.8 3 سال پیش مطرح شد
sina
@s.aerospace 3 سال پیش مطرح شد
0

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


Masoomeh
@zafari.ma.8 3 سال پیش آپدیت شد
0

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


Masoomeh
@zafari.ma.8 3 سال پیش آپدیت شد
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
@s.aerospace 3 سال پیش مطرح شد
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
@zafari.ma.8 3 سال پیش مطرح شد
0

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


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

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


sina
@s.aerospace 3 سال پیش مطرح شد
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
@zafari.ma.8 3 سال پیش مطرح شد
0

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


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

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