2017-09-28 4 views
0

Ich habe js Code, der für die Auswahl verantwortlich ist. Die Seite funktioniert, ohne die Seiten neu zu laden (verwenden Sie nuxt). Das Problem ist, dass wenn ich Routen umschalte, diese Auswahl nicht funktioniert. Wie kann ich das beheben?js der Code funktioniert nicht mehr nach dem Navigieren der Routen ohne Neustart der Seite

$(function() { 
     $('.select_list_radio').on('click', function(){ 
      var current = $(this).find('label span').text(); 
      $(this).parents('.select_list_wrapper').find('.select_list_current .select_list_current_item').text(current); 
      $(this).parents('.select_list_wrapper').removeClass('open'); 
      $(this).parents('.select_list_wrapper').find('.select_list').css('display', 'block'); 
     }); 
    }) 
+0

Sie dies fordern, wenn das '.select_list_radio' Element im DOM nicht vorhanden ist? – thanksd

+0

@ thanksks Nein, beim ersten Laden der Seite funktioniert die Auswahl. Dann, wenn ich auf Routen gehe, hört es auf zu arbeiten. Wenn Sie die Seite neu laden, wird sie wieder funktionieren – Jussia

Antwort

0

Sie müssen nie eine Änderung an einem Element machen Vuejs schafft, weil Vue der Änderung nicht bewusst sein und nach rechts weiter und überschreiben Sie in der nächsten Update-Zyklus gehen wird.

So können Sie versuchen, Ihre .select_list_radio zu einer neuen Komponente zu wickeln, oder besser, versuchen Sie, in Vue zu denken und einfach jQuery wegzulegen.

können Sie lesen, wie man sicher mit Vuejs in diesem Link jQuery verwenden: https://vuejsdevelopers.com/2017/05/20/vue-js-safely-jquery-plugin/

Verwandte Themen