Это пример кода из учебника в книге «Программирование Феникса».Когда вызывается код в static/js/app.js в Phoenix?
В web/static/js/video.js
:
/***
* Excerpted from "Programming Phoenix",
* published by The Pragmatic Bookshelf.
* Copyrights apply to this code. It may not be used to create training material,
* courses, books, articles, and the like. Contact us if you are in doubt.
* We make no guarantees that this code is fit for any purpose.
* Visit http://www.pragmaticprogrammer.com/titles/phoenix for more book information.
***/
let Video = {
init(socket, element){ if(!element){ return }
let playerId = element.getAttribute("data-player-id")
let videoId = element.getAttribute("data-id")
socket.connect()
Player.init(element.id, playerId,() => {
this.onReady(videoId, socket)
})
}
}
export default Video
В web/static/js/app.js
:
import "phoenix_html"
import Video from "./video"
Video.init(socket, document.getElementById("video"))
video.js
определяет Video
объект (Это, как я должен это назвать?), Который импортируется в app.js
, то app.js
работает Video.init
, Если нет DOM с #video
, функция ничего не вернет.
У меня есть два вопроса о том, когда вызывается функция Video.init
.
- Он автоматически вызывается, когда страница загружается? Есть ли другой способ назвать это, когда я захочу?
- Вызывается ли это каждый раз, когда страница загружается, независимо от того, на какой странице я нахожусь?
Спасибо! Я посмотрю документацию Бранча. Кажется, что выяснение того, где искать ответ, часто является самой сложной частью. :( – Harfangk