6
Rails 4
과 협력 중이며 Turbolink
보석을 사용하고 싶습니다. 모든 페이지 요청시 js 파일 중 하나를 다시로드하고 싶습니다.터보 링크를 사용하여 특정 js 파일 다시 렌더링
즉, turbolinks를 무시하는 특정 js 파일을 원합니다. 어떻게해야합니까?
Rails 4
과 협력 중이며 Turbolink
보석을 사용하고 싶습니다. 모든 페이지 요청시 js 파일 중 하나를 다시로드하고 싶습니다.터보 링크를 사용하여 특정 js 파일 다시 렌더링
즉, turbolinks를 무시하는 특정 js 파일을 원합니다. 어떻게해야합니까?
turbolinks에서 'page : load'이벤트를 사용하여 초기화 기능을 연결할 수 있습니다. 터보 링크가 새 페이지를 완전히 다시로드 할 때 항상 호출됩니다.
: 당신이 많이 jQuery를 사용하는 경우function initialize() {
//js code what you want run always
}
$(document).ready(initialize);
$(document).on('page:load', initialize);
, 당신의 Gemfile
gem 'jquery-turbolinks'
을하고 application.js
//= require jquery
//= require jquery.turbolinks
Turbolinks 두 개의 다른 유용한 이벤트가에 설치하는 것이 유용하다
page:fetch //when new page begin to download
page:change //when the page has changed over
여기서 염두에 두어야 할 문제 로드 될 때마다 이미로드 된 스크립트 외에도로드됩니다. 예를 들어 스크립트에서 이벤트를 묶는다면 반복해서 반복 할 것입니다. 이 문제를 피하기 위해 최선의 해결책을 찾으십시오. – ifightcrime
나는이 문제가 더 이상 최신 turbolinks 및 jquery-turbolinks와 함께 존재하지 않는다고 생각합니다. 여러 경계를 피하기 위해 semafor로 작동 할 수있는 dom 요소에 항상 여분의 클래스를 추가 할 수 있습니다. '$ (#yourselector : not (.bounded)). addClass ('bounded'). on ('이벤트', do_this); ' – Zoltan
정확하고 사람들에게 알리고 싶습니다. 매우 광범위하게 언급되지 않는 것 같습니다. 나는 다음 페이지가로드되기 전에 추가 된 모든 이벤트를 자동으로 바인딩 해제하는 빠른 스크립트를 작성했습니다. – ifightcrime