Saman
4 سال پیش توسط Saman مطرح شد
6 پاسخ

مشکل با المان های داینامیک

با سلام و احترام فراوان

من توسط یه وب سایت رو که قبلا با لاراول انجام داده بودم رو با vuejs دوباره اجرا کردم، و تمامی بخش ها به خوبی کار میکند

اما در 2 بخش مشکل دارم یکی newstikcer و دیگری menu هست ، این 2 آیتم با Jquery کنترل میشوند، من داده رو کاملا گرفتم و نمایش هم دادم ، مشکلی نیست اما در بخش هایی که jquery میخواد وارد عمل شه مشکل به وجود اومده، مثلا زیر منو ها که در jquery به این صورت کار میکند که هر li که ul داره رو بهش فلان کلاس بده و یا newstikcer که میگه اگر بیش از 1 li پیدا کردی شروع به حرکت کن، من هم منو هم تیکر رو با v-for اجرا کردم ، نمایش داده میشه اما کار نمیکنه، درصورتی که در فایل خام html با مورد اجرا شده توسط Php بدون مشکل کار میکنند

توضیح اینکه من داده های مورد نظر رو در هوک created توسط vuex گرفتم و در computed ذخیره کردم

می خواستم بدونم المان های که vue تولید میکنه چه فرقی با pure html داره که jquery پیداشون نمی کنه !!

یه سئوال دیگه هم داشتم، برای استفاده از v-if باید اون رو در یک تگ استفاده کرد، آیا امکانی وجود داره که تگ در بردارنده vi-f رو نشون نده

به طور مثال

< ul v-if="menu.sub_menu.length > 0">

<li v-for="item in menu.sub_menu">{{item.name}}</li>

<ul>

این امکان وجود داره که ul نشون ندیم؟ یا تنها راه استفاده از template تگ هستش

پیشاپیش ممنونم


ثبت پرسش جدید
احسان قربانی
تخصص : PHP ، در حال یادگیری لاراول ،...
@TimeRunner2359 4 سال پیش مطرح شد
0

@saman.soroushnia
سلام و وقت بخیر
واقعا مورد اول شما عجیبه و من نمیفهمم چرا . خود کد رو از لحاظ باز و بسته بودن تگ ها چک کردید ؟ این تنها چیزیه که به ذهنم میرسه .
میتونید از اون صفحه یه view source بگذارید ؟
برای مورد دوم، بله می تونید ، ولی اگر می خواهید برای نشون دادن یا ندادن یه المنت از v-if استفاده کنید، بهتره که از v-show به جای اون استفاده کنید .


Saman
@saman3230 4 سال پیش آپدیت شد
0

@TimeRunner2359 جناب قربانی بزرگوار اول از همه سپاس فراوان بابت پاسخگویی شما

دوست بزرگوارم اگر شما به هر دلیل تگی رو در vue نبندین یا ترتیبی رعایت نشه در زمان کامپایل خطا میده و ادامه متوقف میشه

اما اینکه کدها به درستی تزریق شدن بله چون insepect میکنم کدها درست انجام شدن و سرجاشون هستن

بزارین اینطور بگم من میخوام کدها دقیقا قبل از لود شدن jquery در صفحه من تزریق بشن چون بعد از لود شدن جی کوئری که به این مشکل بر میخورن

چون وقتی کدهای خام html قرار میدم یه مثلا

<li v-for="item in 10">
<a>{{item.name}}</a>
<li>

را به جای

<li v-for="item in menus">
<a>{{item.name}}</a>
<li>

قرار میدم

به درستی کار میکنه ، این به این معناست که در زمان دریافت و تزریق یه DOM یه مشکلی هست

توضیح آخر اینکه همه hook هارو هم تست کردم created mouted , حالت های before هرکدام رو اما بی فایده بود


احسان قربانی
تخصص : PHP ، در حال یادگیری لاراول ،...
@TimeRunner2359 4 سال پیش مطرح شد
0

@saman.soroushnia
سلام و وقت بخیر.
شما دقیقا چجوری jquery رو توی صفحه ایمپورت می‌کنید ؟


Saman
@saman3230 4 سال پیش آپدیت شد
0

@TimeRunner2359 با سلام و احترام

دوست من شما یه جوری دارین سئوال میپرسین که انگار با یه کاربر آماتور صحبت می فرمائید

کسی که با لاراول و vue داره کار میکنه و چندین و چند پروژه تا به حال انجام داده دیگه اونقدر بلدهست فایل ها کجا و چطوری لود کنه

لطفا اسپم نکنید و بزارین دوستان که تخصص تو این زمینه دارند ، بیان ببین مشکلی چیه چطوری میشه حلش کرد !!

با تشکر


احسان قربانی
تخصص : PHP ، در حال یادگیری لاراول ،...
@TimeRunner2359 4 سال پیش مطرح شد
0

@saman.soroushnia
ببخشید اگر اینجوری برداشت کردید.
امیدوارم مشکلتون حل بشه : @ali.bayat
@hosseinshirinegad98
@wozniak
@hesammousavi
باز هم عذرخواهی می‌کنم 🙏😔🙏


Saman
@saman3230 4 سال پیش آپدیت شد
0

@TimeRunner2359

اختیار دارین دوست بزرگوار
سلامت باشین، ممنون از همکاری شما

فقط من یه توضیح راجع به مشکلم بدم

منوی من ساختارش در قالب PC عالی و بدون هیچ مشکلی کار میکنه، اما این به صورت طراحی شده که در حالت موبایل از طریق jquery یه span به li که زیر منو داره تزریق میکنه و همینطور به اون li که زیر منو داره یه کلاس has-sub میده و ساختارشم اینطوریه که با کلیک به روی اون span که در بردارنده یه آیکونه، زیر منو حالت از display:none به blockو برعکس تغییر میکنه

اما این اتفاق در component منویی که ایجاد کردم و در لاراول دارم استفاده میکنم اتفاق نمی افته !! توضیح اینکه من در پروژه خودم از ویو روتر هم استفاده کردم


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

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