Javascript 使用qml添加具有条件的类
我有一个项,我想在其中添加一个类,这个类依赖于一个变量Javascript 使用qml添加具有条件的类,javascript,c++,qt,qml,Javascript,C++,Qt,Qml,我有一个项,我想在其中添加一个类,这个类依赖于一个变量 import "class1" import "class2" Item { id: myID property variant myVar: 0; anchors.fill: parent; function update() { switch(myID.myVar) { case 0: class1 { anchors.fill: par
import "class1"
import "class2"
Item { id: myID
property variant myVar: 0;
anchors.fill: parent;
function update() {
switch(myID.myVar)
{
case 0:
class1 {
anchors.fill: parent;
}
break;
case 1:
class2 {
anchors.fill: parent;
}
break;
}
}
}
事实上这是一个错误的代码,有没有办法
谢谢。QML和JavaScript相互作用,但您尝试使用的是JavaScript上下文中的QML类实例化语法-它永远不会以这种方式工作。加载QML文件后,其中定义的所有类实例都已实例化 您需要定义两个组件,并使用加载程序动态创建其中一个组件。下面的例子。我还没有测试过,但我希望它能引导你朝着正确的方向前进
import "class1"
import "class2"
Item {
id: myItem
property variant myVar: 0;
anchors.fill: parent;
Component {
id: compClass1
class1 {
anchors.fill: myItem;
}
}
Component {
id: compClass12
class2 {
anchors.fill: myItem;
}
}
Loader { id: myLoader }
function update() {
switch(myID.myVar) {
case 0:
myLoader.sourceComponent = compClass1;
break;
}
case 1:
myLoader.sourceComponent = compClass2;
break;
}
}
}
这就是帮助!如何调用类(class1或class2)中的函数。我已经在类中添加了一个ID,但是当我调用该函数时,我得到一个错误:TypeError:表达式'ClassID.functionName'的结果[undefined]不是一个函数。我添加了一个新问题: