Titanium Studio - 官方教程问题和TSS语法

时间:2014-01-10 03:15:52

标签: titanium appcelerator titanium-alloy

我开始关注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语法有点困惑。为什么逗号分隔某些定义而不是其他定义?这是一种分组某些定义的方法吗?目的是什么?

另外,有人知道我是否可以从某个地方下载教程源文件?

2 个答案:

答案 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框架重写整个代码。