我开始关注Appcelerator文档中的Creating Your First Titanium Apps教程,但我遇到了一些问题。
首先,我认为这更像是一个问题,但我仍然想确认我没有遗漏一些东西。在“创建图书详细信息视图”步骤中,它会创建一个名为 bookdetails 的控制器。但是,在所有后续步骤中,它将控制器称为 bookview ,例如:
var bookview = Alloy.createController("bookview", args).getView();
完全按照教程中的内容输入所有内容会导致应用程序错误,说明未定义的控制器“bookview”,当然,当更改它以匹配它时,一切正常(见下文)。
其次,在“修复”上述问题后,点击表格行会转到新页面,但没有任何内容,只有空白页面。我在调试器中看不到任何问题,并且再次输入的内容与教程中显示的内容完全相同,即使只是复制和粘贴也是如此。不确定这里发生了什么。
据我所知,我的经验有限,在bookview控制器中似乎没有任何东西告诉视图显示提取的变量。 bookview.js中唯一的一行是
var args = arguments[0] || {};
由Titanium生成,在教程中不受影响。我真的不明白这里发生了什么逻辑。变量arguments
在哪里定义?它是由createController
函数中第二个参数的参数填充的全局变量吗?即使是这种情况,视图如何知道显示的位置和内容?视图是否应该使用与{title}
的索引视图类似的输出变量指定?
如果我能找到API,我可以自己解决这个问题,但我甚至找不到open()
等函数的条目。
最后,我对.tss语法有点困惑。为什么逗号分隔某些定义而不是其他定义?这是一种分组某些定义的方法吗?目的是什么?
另外,有人知道我是否可以从某个地方下载教程源文件?
答案 0 :(得分:3)
不幸的是,Creating Your First Titanium App现在是BUGGY和LACKING(2014年2月20日)。
您可以从HERE获得一个有效的示例。
答案 1 :(得分:1)
你在一条巨大的信息中提出了多个问题。很难解决所有问题,对其他用户没用。下面的一些快速回答,但下次再分别问他们。
<强> 1。参数强>
var args = arguments[0] || {}
是Alloy中使用特殊JavaScript变量arguments
检索传递给控制器的参数的常用方法。链接到MDN文档应该解释它。代码示例:
index.js :
Alloy.createController("bookview", { title: "Design Patterns" });
<强> bookview.js 强>:
var args = arguments[0] || {};
alert(args.title); // 'Design Patterns'
<强> 2。 TSS文件
TSS是JSON和CSS文件之间的一个小小的疯狂组合。如果您不确定如何使用逗号,请确保将其放在每一行。
第3。 API参考
这是Alloy API reference。另外Titanium SDK有很多代码示例如何使用普通的Titanium和Alloy来使用不同的方法。如果您刚开始学习Titanium和Alloy,最好逐个学习所有Titanium和Alloy课程:首先了解它在Titanium中是如何工作的,然后尝试使用Alloy框架重写整个代码。