我已经开始关注 Creating Your First Titanium Apps Appcelerator 文档中的教程,我遇到了一些问题。
首先,我认为这更多是文档的问题,但我仍然想确认我没有遗漏任何东西。在“创建图书详细信息 View ”步骤中,它要求创建一个名为 bookdetails 的 Controller 。但是,在所有后续步骤中,它将 Controller 引用为 bookview,例如:
var bookview = Alloy.createController("bookview", args).getView();
完全按照教程中编写的内容输入所有内容会导致应用程序错误,说明未定义的 Controller “bookview”,并且自然地,当更改它以匹配它时,几乎一切正常(见下文)。
其次,“修复”上述问题后,单击表格行会转到新页面,但上面没有任何内容,只是一个空白的白色页面。我在调试器中看不到任何问题,并且所有内容都已完全按照教程中显示的方式输入,甚至只是复制和粘贴。不确定这里发生了什么。
据我有限的经验所知,bookview Controller 中似乎没有任何内容告诉 View 显示提取的变量。 bookview.js 中唯一的一行是
var args = arguments[0] || {};
它是由 Titanium 生成的,在本教程中没有涉及。我真的不明白这里发生了什么逻辑。变量arguments
在哪里定义的?它是由 createController 函数中第二个参数的参数填充的全局变量吗?即使是这种情况, View 如何知道在哪里显示以及显示什么内容? View 不应该具有类似于使用 {title}
索引 View 指定的输出变量吗?
如果我能弄清楚 API,我也许可以自己解决这个问题,但我什至找不到像 open()
这样的函数的条目。
最后,我对 .tss 语法有点困惑。为什么用逗号分隔某些定义而不是其他定义?这是对某些定义进行分组的一种方式吗?目的是什么?
另外,有人知道我是否可以从某处下载教程源文件吗?
最佳答案
不幸的是,Creating Your First Titanium App目前存在缺陷且缺乏(2014 年 2 月 20 日)。
您可以从 HERE 获取工作示例。
关于Titanium Studio - 官方教程问题和 TSS 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21035592/