本篇文章主要討論QML引入JavaScript文件,以及QML與JavaScript之間的關係。
首先在QML文件開頭添加如下代碼導入JavaScript:
- 第一種寫法,使用qrc路徑:
import "qrc:/qml/JavaScript/Application.js" as Application
- 第二種寫法,使用相對目錄:
import "../JavaScript/Application.js" as Application
進入之後使用Application
就可以調用JavaScript中的代碼了。
使用JavaScript時需要注意,JavaScript中定義的全局變量只對當前QML文件有效。也就是說,QML文件A調用JS中的函數並改變了JS中的全局變量,在QML文件B中獲取到的全局變量是不會受到影響的。
但是,如果是在QML中定義的變量(即property,並且QML中存放property的對象沒有被銷燬),則是會被JavaScript函數影響的。因此,如果想在QML文件之間交換數據,可以將變量定義在QML中,然後JS中編寫修改變量的函數。
簡而言之,JS文件相當於QML之間交互的橋樑,JS中定義的全局變量只相當於當前QML中的臨時變量。