Javascript 如何在其他页面上调用函数
我在我的问题中找不到答案,所以我想解释一下 我有一些QML页面,我用StackView对象管理我的页面,我想从第2页调用第1页的函数。。。 比如说Javascript 如何在其他页面上调用函数,javascript,qml,qt5,qt-quick,qtquick2,Javascript,Qml,Qt5,Qt Quick,Qtquick2,我在我的问题中找不到答案,所以我想解释一下 我有一些QML页面,我用StackView对象管理我的页面,我想从第2页调用第1页的函数。。。 比如说 //Page 1 Item{ id: page1 function test(){ console.debug("Page 1 man ! "); } ... something } } 我想调用第1页上的测试函数 //Page 2 Item{ id: page2 Compoment.onCompleted: page1.test(); .
//Page 1
Item{
id: page1
function test(){
console.debug("Page 1 man ! ");
}
... something
}
}
我想调用第1页上的测试函数
//Page 2
Item{
id: page2
Compoment.onCompleted: page1.test();
... something
}
}
有人有办法吗
yekmen由于范围限制,您无法从另一个页面直接访问函数。所以解决方案是在根项中创建一些代理函数。小例子:
Item {
id: root
function proxy(target_page) {
switch(target_page) {
case 1: page1.test(); break;
case 2: page2.test(); break;
case 3: page3.test(); break;
}
}
Item {
id: page1
function test() {
}
Component.onCompleted: {
root.proxy(2);
}
}
Item {
id: page2
function test() {
}
}
Item {
id: page3
function test() {
}
}
}
这不是活生生的例子,只是想法。这里,page1通过根元素函数在初始化时调用page2