我正面临一个在逻辑上不正确的可疑问题。在保存模型中,tablerow 中的一些元素会隐藏。
这是查看代码noteRow.xml
<Alloy>
<TableViewRow id="noteRow">
<View class="noteRowSeperator"></View>
<View id="noteRowContainer">
<View class="noteSideBox">
<ImageView id="noteStatus" onClick="toggleStatus"></ImageView>
</View>
<View class="noteContentBox">
<Label class="noteDescription" text="{description}"/>
</View>
</View>
<View class="noteRowSeperator"></View>
</TableViewRow>
</Alloy>
这是控制器代码noteRow.js
var moment = require('alloy/moment');
var id;
if ($model) {
id = $model.id;
if ($model.get('done')) {
$.noteRowContainer.opacity = 0.5;
$.noteStatus.image = '/images/status_completed.png';
} else {
$.noteRowContainer.opacity = 1;
$.noteStatus.image = '/images/status_not_completed.png';
}
}
function toggleStatus(e) {
alert(id);
var note = Alloy.Collections.note.get(id);
note.set({
"done": note.get('done') ? 0 : 1,
"completed_at": moment().format('X'),
"updated_at": moment().format('X')
}).save();
}
当模型保存所有ImageView
带有 id的内容时,noteStatus
只会隐藏在 tableview 中的所有 tablerows 上。无法弄清楚为什么它有问题。请指导我对其进行排序。
应用程序类型:Mobile Titanium SDK:3.1.2 平台:Android(Gynemotion)(也在我的设备 Galaxy SII 上)平台版本:4.1.1