在两个文件之间共享按钮变量
sharing a button variable between two files
我有一个按钮,单击该按钮时会打开一个具有附加共享功能的模式窗口。在Android上一切正常,但是我在iOS上遇到了一个小问题。我能够共享一个只是一个数字的变量,但不能共享一个按钮的变量。以下代码来自主应用程序.js:
var shareBtn2;
var fullScore;
shareBtn2.addEventListener('singletap', function (e){
shareBtn2.setBackgroundImage('share_pressed.png');
var shareModal = require('shareModal');
var shareModalView = new shareModal();
Ti.App.myGlobalVar=shareModalView;
win2.add(shareModalView);
if (DJBool){
Ti.App.fireEvent('shareModalEvent', {
myBtn: shareBtn2,
myPts: Math.round(fullScore)
});
alert('Was a DJBool');
}
然后在我的第二个文件中,其中包含 4 个按钮,用于通过 FB、Twitter、电子邮件和取消按钮共享。
Ti.App.addEventListener('shareModalEvent', function(event) {
globalPts=event.myPts;
globalBtn=event.myBtn;
alert('received share modal event');
});
console.log(typeof globalPts);//outputs number
console.log(typeof globalBtn);//outputs undefined
我在第二个文件中需要这个按钮的唯一原因是,如果用户按下第二个文件中的"取消按钮",我想将我的 shareBtn 的背景图像更改为其原始状态。
cancelBtn.addEventListener("click", function (e){
cancelBtn.setImage('cancelShare_pink.png');
win2.remove(Ti.App.myGlobalVar);
globalBtn.setBackgroundImage('share.png');
});
希望我已经清楚了。
事实证明,您不能在事件中传递圆形 Ti.UI 对象,只能在 IOS 中传递原语(如字符串、数字),但它适用于 Android。最后,我写了另一个自定义事件来解决问题
相关文章:
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- 使用服务(AngularJS)在控制器之间共享数据
- AngularJS中的页面之间共享数据返回空
- 是否可以缓存可下载的文件,并在XHR和非XHR请求之间共享该缓存
- 在Knockoutjs中的ViewModels之间共享变量状态
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- Node.js服务器和浏览器之间共享二进制缓冲区
- 使用Angularjs在两个不同页面的控制器之间共享数据
- 在两个浏览器选项卡之间共享变量范围
- 不同进程之间共享Node.js环境
- 在Angular Bootstrap Modal和父控制器之间共享作用域
- 2ng控制器,并且需要在控制器之间共享数据
- Javascript创建函数,以便在其他函数之间共享变量
- 在控制器angular js之间共享数据
- 在javascript客户端和java服务器之间共享Google Analytics ClientID
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- 在angularJS中使用模态窗口时,在控制器之间共享对象数组
- 在角度上不同控制器之间共享状态