我在使用Appcelerator App Designer时发现了一个关于使用Titanium SDK 常量和Alloy.Globals作为值的问题。
例如,我在alloy.js 中有一个值
Alloy.Globals.myColors = {
very_light: "#edf5fc",
light: "#c7e3ff",
mid: "#0066CB",
dark: "#06426D"
};
所以在我的 tss 文件中我可以拥有
backgroundColor: Alloy.Globals.myColors.light
这完美地工作。
如果我使用Appcelerator App Designer修改布局的任何部分,它会将 tss 值更改为字符串,基本上将其分解为合金。例如:
backgroundColor: "Alloy.Globals.myColors.light"
此行为也适用于以Titanium而不是Ti开头的 Ti 常量。不幸的是, Appcelerator App Designer在下拉菜单中有旧的Titanium.UI常量,而不是Ti.UI常量。
对于 Titanium 常量,我知道如果我在 TSS 文件中修改它,那么将来使用应用程序设计器对设计进行修改不会破坏它。我不知道如何避免Alloy.Globals变量的问题。
有什么建议么?
[编辑] 你可以在这里找到 Appcelerator JIRA Ticket