在QML中定义JavaScript资源
QML应用的程序逻辑可以在JavaScript中进行定义,JavaScript代码既可以定义在QML文档内部,也可以定义在一个独立的JavaScript文件(在QML中被称为JavaScript资源)中。在QML中支持两种不同种类的JavaScript资源:代码隐藏(Code-Behind)实现文件和共享(库)文件。这两种JavaScript资源都可以被其他JavaScript资源导人,或者包含到QML模块中。
1.代码隐藏实现资源(Code-Behind Implementation Resource)
大多数导人到QML文件的JavaScript文件对于这个QML文件是有状态的。在这种情况下,为了使QML组件的实例有正确的行为,导人一个JavaScript文件的默认行为是为每一个QML组件实例提供一个唯一的、独立的副本。如果该JavaScript文件没有使用.import语句导人任何资源或模块,它的代码将会与QML组件实例运行在相同的作用域,因此可以访问和操作在这个QML组件中声明的对象和属性。案例:
【1】创建一个my_button_impl.js文件,内容如下
var clickCount = 0; // 来回切换红色和绿色
function onClicked(btn) {
clickCount += 1;