راکت
حل شده

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

11 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

11
Masoomeh
Masoomeh
@zafari.ma.8
بهترین پاسخ
 <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

علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

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

npm uninstall <package-name>

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

sina
sina
@s.aerospace

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

شاید پاسخ شما همین‌جا باشد

sina
sina
@s.aerospace

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

Masoomeh
Masoomeh
@zafari.ma.8

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

sina
sina
@s.aerospace

@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.8

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

sina
sina
@s.aerospace

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

sina
sina
@s.aerospace

@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.8

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

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

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