使用 QML 和 QtQuick2 时如何在另一个 .js 文件中包含 .js 文件?不涉及浏览器

Posted

技术标签:

【中文标题】使用 QML 和 QtQuick2 时如何在另一个 .js 文件中包含 .js 文件?不涉及浏览器【英文标题】:How to include a .js file in another .js file when working with QML and QtQuick2? No browser involved 【发布时间】:2014-07-28 08:27:04 【问题描述】:

为了在另一个.js 文件中包含一个.js 文件,我尝试在.js 文件中编写以下内容。

var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'helper.js';
head.appendChild(script);

我收到了错误:ReferenceError: document is not defined

然后我写道:

<script type="text/javascript" charset="utf-8">
   $(documuent).ready(function ()  var editChange = $('td').replaceWith('<td id = "@html.ValueFor(x => x.name)" >'); );
</script>

在上面,但收到错误:SyntaxError: Unexpected token &lt;

问题是这里没有涉及浏览器。这个.js 文件与QML 一起工作,并与qmake 一起编译。

这是什么语法?

【问题讨论】:

【参考方案1】:

这是"Importing JavaScript Resources in QML"上的文档,具体情况为importing in another JS file

如果你有一个文件 helper.js 并且你想在另一个 javascript 文件中使用它的函数,你可以这样做:

.import "helper.js" as Helper

然后你可以像这样使用它的功能之一:

Helper.myFunction();

【讨论】:

以上是关于使用 QML 和 QtQuick2 时如何在另一个 .js 文件中包含 .js 文件?不涉及浏览器的主要内容,如果未能解决你的问题,请参考以下文章

Qml/QtQuick2 中的 QSignalBlocker?

QT/QML:模型没有数据时如何显示消息

当 QML 项目的尺寸发生变化时如何得到通知?

qml 和 c++ 与 qt quick 2 应用程序

如何将 qml 文件重新加载到 QQuickView

如何在 Qt QML (QtQuick 2) 中设置 Material Dark Theme?