• 04-01-2019, 10:40:59
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    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ı ?
  • 04-01-2019, 10:45:21
    #2
    Vue ile kullanmadım hocam ama AngularCLI, Ionic, React Native ile kullandım. Vue'e has bir konu değilse yardımcı olabilirim
  • 04-01-2019, 11:04:47
    #3
    ztk
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Soruyu yazsanız keşke de direk cevaplasak. Heyecan olsun diye mi bekletiyorsunuz? Nedir sorunuz?
  • 04-01-2019, 11:06:31
    #4
    ztk adlı üyeden alıntı: mesajı görüntüle
    Soruyu yazsanız keşke de direk cevaplasak. Heyecan olsun diye mi bekletiyorsunuz? Nedir sorunuz?
    Yok hocam biraz karışık bir iki yer göstermem gerekiyor, vue.js ile template oturtma işlemi teamviewer ile bakılması daha hızlı olacaktır
  • 04-01-2019, 11:08:56
    #5
    GundogduYakici adlı üyeden alıntı: mesajı görüntüle
    Yok hocam biraz karışık bir iki yer göstermem gerekiyor, vue.js ile template oturtma işlemi teamviewer ile bakılması daha hızlı olacaktır
    hmmm team imkanım yok ama siz yine de kısaca bahsedin, derdinizi anlatmaya çalışın, belki bi faydamız dokunur.
  • 04-01-2019, 11:12:58
    #6
    Kı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:01
    #7
    GundogduYakici adlı üyeden alıntı: mesajı görüntüle
    Kı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
    hah bak seni çok net anladım.
    ş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:45
    #8
    ztk adlı üyeden alıntı: mesajı görüntüle
    hah bak seni çok net anladım.
    ş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.
    Valla hocam çok teşekkür ederim ufkumu açtın ellerin dert görmesin Dediklerini uygulayacağım