gpt4 book ai didi

javascript - TideSDK:有没有办法将数据传递给子窗口?

转载 作者:行者123 更新时间:2023-11-29 18:24:37 25 4
gpt4 key购买 nike

当我从我的主窗口创建一个子窗口时,我想向它传递一个 JavaScript 对象,但我不确定是否真的有办法做到这一点?

用 TideSDK 创建的两个窗口都有自己的 JavaScript 环境,就像两个浏览器窗口一样(这就是它们的本质,如果我没理解错的话),所以你不能从另一个窗口访问一个窗口中的变量。另一方面,您可以从您所在的窗口访问其他窗口(例如使用 Ti.UI.getOpenWindows)。那么...有什么办法吗?

我认为有一些解决方法是可行的,但没有一个是非常简单的,并且每个都使用了不同于普通 JavaScript 的东西:

  • 使用Ti.DatabaseTi.Filesystem 存储我要传递的数据,然后从子窗口中检索它
  • 将数据作为 GET 变量传递给新窗口,例如:Ti.UI.createWindow("app://page.html?data1=test&data2=foobar");

最佳答案

您可以将对象分配给子窗口对象

var objToBePassed = {foo:'bar'};    
var currentWindow = Ti.UI.currentWindow;
var newWindow = currentWindow.createWindow("app://page.html");
newWindow.obj = objToBePassed;
newWindow.open();

在子窗口的 javascript 环境中,您可以通过以下方式访问该对象

var currentWindow = Ti.UI.currentWindow;
var obj = currentWindow.obj;

另一种方法是使用 Ti.API.set:

Ti.API.set('objKey', objToBePassed);

你可以在任何地方访问这个对象

var obj = Ti.API.get('objKey');

关于javascript - TideSDK:有没有办法将数据传递给子窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com