【发布时间】:2015-05-15 14:34:11
【问题描述】:
我在我的 QML 应用程序中使用 Javascript,并希望将函数的 代码 作为字符串插入:
function test(parameter) {
console.log("Something to do!");
}
...
function otherFunction(otherParam) {
console.log("Output: "+test.toString());
}
所有这些都是打印以下内容:
"Output: function() { [code] }"
而不是所需的字符串:"Output: function() { console.log("Something to do!"); }"
P.S.:我记得这段代码最近可以工作,但是在从 Qt 5.2 迁移到 Qt 5.4 并修复 CMake 脚本的某个地方,它坏了。
这里有什么问题?
【问题讨论】:
-
您应该提交一个 Qt 错误,参考第 5 版。 ECMA-262,秒。 15.3.4.2 - 标准行为是使用 FunctionDeclaration 语法返回对象的文本表示。据推测,标准的含义是这种表示应该是可用的,而不仅仅是空函数的表示(正确的语法,不正确的含义)。
-
嗯,我们希望有一个可用的解决方法。同时我已经报告了这个错误:bugreports.qt.io/browse/QTBUG-46122
标签: javascript qt qml qt5