我可以做到这一点:
SomeElement{
id: something
function someFunction(){...}
....
OtherElement{
property int whatever: something.someFunction()
但是,我希望所有 JS 函数都定义在一个单独的文件中。问题在于,据我所知,这将函数与附加到任何一个元素的功能分离。我不能再将函数作为另一个元素的属性来调用它。
是否可以将函数附加到 QML 元素,但仍将其定义在另一个文件中?是否有一些语法可以从元素中“转发”或“别名”该函数,以便仍然可以在元素上调用此“成员函数”,从而使该函数能够访问其父元素上的其他属性?
最佳答案
您可以尝试将js文件导入为某个模块,并使用带有模块名称前缀的函数。因此,它们将位于与 QML 对象的函数不同的“命名空间”中
有关它的文档:http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-imports.html
关于qt - 如何在单独的文件中定义 js 函数并将其附加到 QML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888283/