如何在 Titanium Classic 中获取 window 的子对象
How to get child objects of a window in titanium classic
我有 window,因为有一个 table 的视图。现在我怎样才能得到 table 对象存在于 window->view.
提前致谢,
斯瓦提
好的,这其实很简单。但是,没有 "direct" API 要求...但是您可以轻松地自己创建一个。
基本上,所有元素都有一个 "children" property,您可以使用它来获取 objects 数组的句柄(如果元素没有 children,则为零)。然后你只需遍历 children 并检查它们的 id 属性 并将其与你要查找的 id 进行比较。但是您可以做的不仅仅是检查 id。您可以访问所有属性。通过将元素的 JSON 表示形式打印到控制台来检查其中有什么的简单方法。那应该告诉你你能得到什么。
这是一个简单的例子:
function showAllChildren(element){
if(element && element.getChildren()){
var children = element.getChildren();
_.each(children, function(child){
console.log(JSON.stringify(child));
});
}
}
您可以这样称呼它:showAllChildren($.form)
- 或者您想要测试的任何元素 ;-)
/约翰
从 SDK 6.1.0 开始,您可以使用此功能:
window.getViewById('ViewId');
有关详细信息,请参阅文档 here
我有 window,因为有一个 table 的视图。现在我怎样才能得到 table 对象存在于 window->view.
提前致谢,
斯瓦提
好的,这其实很简单。但是,没有 "direct" API 要求...但是您可以轻松地自己创建一个。
基本上,所有元素都有一个 "children" property,您可以使用它来获取 objects 数组的句柄(如果元素没有 children,则为零)。然后你只需遍历 children 并检查它们的 id 属性 并将其与你要查找的 id 进行比较。但是您可以做的不仅仅是检查 id。您可以访问所有属性。通过将元素的 JSON 表示形式打印到控制台来检查其中有什么的简单方法。那应该告诉你你能得到什么。
这是一个简单的例子:
function showAllChildren(element){
if(element && element.getChildren()){
var children = element.getChildren();
_.each(children, function(child){
console.log(JSON.stringify(child));
});
}
}
您可以这样称呼它:showAllChildren($.form)
- 或者您想要测试的任何元素 ;-)
/约翰
从 SDK 6.1.0 开始,您可以使用此功能:
window.getViewById('ViewId');
有关详细信息,请参阅文档 here