Merhaba,
Vue.js yeni başladım laravel ile geliştiriyorum. Tasarımı ayarlarken bir sorunum yok ama ufak bir sorum olacak mantığı anlamak için. Yardımcı olabilecek olan var mı ?
Laravel + Vue.Js Ufak Sorum var (ücretli / ücretsiz)
7
●398
- 04-01-2019, 10:40:59Kimlik doğrulama veya yönetimden onay bekliyor.
- 04-01-2019, 11:06:31Yok hocam biraz karışık bir iki yer göstermem gerekiyor, vue.js ile template oturtma işlemiztk adlı üyeden alıntı: mesajı görüntüle
teamviewer ile bakılması daha hızlı olacaktır
- 04-01-2019, 11:08:56hmmm team imkanım yok ama siz yine de kısaca bahsedin, derdinizi anlatmaya çalışın, belki bi faydamız dokunur.GundogduYakici adlı üyeden alıntı: mesajı görüntüle
- 04-01-2019, 11:12:58Kısaca şöyle hocam;
Bir HTML tema var elimde. Laravel'e bunları aynı şekilde yerleştirdim ve düzgün sağlıklı çalışıyor. Ardından vue.js devreye girdi ve onun gerekli olan app.js dosyasını ekledim. Bir anda custom.js dosyalarında ki kütüphaneler is not a function hatası vermeye başladı.
Daha sonra araştırdım .vue componenti içerisine gerekli js dosyaları
require('../../assets/plugins/jquery/jquery.min.js');şeklinde eklenmesi gerekiyormuş. Ekledikten sonra html tarafındakileri kaldırdım ama bu sefer tasarımsal olarak hata kaldı. Html'de de olunca hata olmuyor falan biraz karışık yani yapıyı bilen birisi gerekiyor
- 04-01-2019, 11:24:01hah bak seni çok net anladım.GundogduYakici adlı üyeden alıntı: mesajı görüntüle
şimdi şöyle birşey var dostum, jquery ile vuejs in çalışma mantıkları tamamen farklı olduğu için bu hataları alıyorsun.
Çok teknik konulara girmeden anlatmaya çalışayım.
Jquery sayfa yüklendikten sonra gerçek dom u kullanarak işlem yapar. Yani sayfa kaynağını görüntüle dediğin zaman gördüğün <div> <p> falan varya onlara tam olarak buradan erişir.
Fakat vuejs uygulamalarında sayfa kaynağını açtığında pek bişey göremezsin çünkü vuejs sanal dom kullanır. sayfa kaynağında birşey olmaz, vuejs bunları kendisi sonradan sayfaya ekler.
Bu yüzden sen vuejs nin içinde jquery kullanırsan, bu jquery sayfa içinde hiçbir <div> <p> gibi şeyler bulamayacağı için ne yapacağını şaşırır.
örneğin sayfa yüklendiği zaman sidebarı aktif etme kodu olsun jquery'de
$(function(){ $('div.sidebar').fadeIn(); });tamamen salladığım yukarıdaki koda göre sayfa hazır olduğu zaman sidebar class lı div meydana çıkacak diyelim. ama div yok ki ortada.
neyi fadeIn yapacak. bu yüzden tasarımsal bozukluklar ortaya çıkacak.
Bunun önüne geçmek için ne yapman lazım biliyor musun?
En önemlisi şu, jquery kullanan temalardan uzak duracaksın. Eğer bu mümkün değilse
vue component içinde metodlar belirliyorsun ya
data(){ return { } }, created(){ }, mounted(){ }gibi.
burdaki mounted metodu var ya. aslında burası senin için önemli. çünkü bu metodun sonunda aslında jquery nin istediği divler falan sayfaya yüklenmiş oluyor. yani dom mount edilmiş oluyor.
sen yukarıdaki jquery fonksiyonunu burada kullanırsan tasarımsal problemlerin çözülür.
$(document).ready(function(){ //burada yapacağın işlemleri aşağıda gördüğün şekilde yapacaksın. }) mounted(){ //burada yapacaksın }fakat temanın tüm fonksiyonlarını buraya taşıman zor olabilir. bu yüzden biraz uğraştıracak seni. farklı çözümler de var bu en basiti. Ama sana ipin ucunu verdim. artık gerisini sen çekebilirsin.
Kolay gelsin.
- 04-01-2019, 11:27:45Valla hocam çok teşekkür ederim ufkumu açtın ellerin dert görmesinztk adlı üyeden alıntı: mesajı görüntüle
Dediklerini uygulayacağım
Heyecan olsun diye mi bekletiyorsunuz? Nedir sorunuz?