更改字符串会使整个脚本在Titanium中不起作用

时间:2011-07-20 11:26:44

标签: javascript iphone titanium

所以我有一个脚本创建一个简单的表视图,但更改一个简单的字符串似乎有严重的后果。

这有效(我已将其剥离到相关部分):

data = [];
db = Ti.Database.install('../data.sqlite', 'person');
rows = db.execute('SELECT * FROM person');
while (rows.isValidRow()) {
  data.push({
    title: rows.fieldByName('first_name'),
    hasChild: true,
    c_id: rows.fieldByName('C_ID')
  });
  rows.next();
}
tableview = Titanium.UI.createTableView({
  data: data
});
...
win.add(tableview);
...

但是将title: rows.fieldByName('first_name'),更改为title: rows.fieldByName('first_name') + rows.fieldByName('last_name'),会引发错误 Result of expression 'win.add' [] is not a function. at persons.js (line 32)(第32行是win.add(tableview)

唯一的区别是该行,但它会使整个脚本失败。

提前致谢
佛瑞德

2 个答案:

答案 0 :(得分:0)

你试过在它们之间留一个空格吗?

title: rows.fieldByName('first_name') + ' ' + rows.fieldByName('first_name')

如果你从表中拿另一张桌子?像last_name那样,它也会崩溃吗?

答案 1 :(得分:0)

我发现了问题,这是因为我正在使用coffeescript将代码包装在函数包装器中,这会导致问题(某种程度上)。删除函数包装器修复它但现在我不能再使用coffeescript了。