我使用的是HP webOS 3.0和Enyo框架。
我有一个简单的问题,我如何显示和隐藏图像点击一个按钮。我有2张图片,我想在点击一个按钮时显示图像,点击另一个按钮时隐藏图像。
我有两个窗格称为左窗格和右窗格在一个单一的视图。我在左窗格有大约10个项目。
在每个项目上单击右窗格上的适当视图。
我用下面的代码来做。
showTaskView: function(){
this.$.rightPane.selectViewByName("taskView");
},
现在我想知道如何在包含左窗格和右窗格的主视图中访问控件的属性。
例如,我想显示/隐藏图像在taskView显示在右窗格上单击按钮,既不是在左窗格或右窗格,但在视图的头部部分,包含左窗格和右窗格。
它不允许我访问控件的图像。从主视图中调用setSrc方法。我用下面的代码试过了。
editTask: function() {
this.$.task.image.setSrc("images/image2.jpg");
}
和
editTask: function() {
this.$.image.setSrc("images/image2.jpg");
}
显示如下错误:
Cannot read property 'setSrc' of undefined
使用VirtualList,您的散列将只引用当前"选定"的行。"selected"可以是接收事件的行,也可以是使用prepareerow()显式选择的行。如果您想更改每一行,则应该设置一个属性并调用列表上的refresh()以使其呈现。
下面应该可以工作(I think…)
setupRow: function(inSender, inIndex) {
var row = this.data[inIndex];
if (row) {
this.$.caption1.setContent("Greet a " + row.task + ":");
this.$.star.setSrc("images/grey-star.png");
if(this.hideStart) this.$.star.hide();
this.$.caption2.setContent(row.assignto);
return true;
}
},
buttonClick: function(){
this.hideStar = true;
this.$.myVirtualList.refresh();
}