我有一个演示application,其中我有一个数组,其中所有元素都是可观察的。在这个应用程序中,我有一个模拟来自服务器的调用的函数 - 获取绑定到列表的相同数组,但更改了一个项目。这是我实施它的方式:
this.serverDataSimulation=function(){
aArray[Math.floor((Math.random() * 10) + 0)].name=Math.floor((Math.random()
* 2000) + 1000);
ko.mapping.fromJS(aArray, this.allItems);
}
aArray是模拟从服务器获取的数据,我使用ko.mapping将其绑定到列表。问题是这样整个列表被重新渲染,而不是只更新一个项目。我仍然希望在重新绑定之后以及重新绑定之前,数组的所有元素都是可观察的。有没有办法解决这个或更好的实现?
答案 0 :(得分:0)
试试这个:
function onOpen() {
DocumentApp.getUi()
.createMenu("Menu ")
.addItem("Insert Image","getMyImage")
.addToUi()
}
function getMyImage() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var table = body.getTables();
for (var i = 0; i < table.length; i++){
var imageId = table[i].getChild(0).asText().getText();
if (imageId.length == 28) {
var file = DriveApp.getFileById(imageId);
var image = file.getBlob();
var link = file.getUrl();
var appendImage = table[i].getChild(0).asTableRow().clear().appendTableCell().appendImage(image)
.setHeight(400).setWidth(500).setLinkUrl(link);
}}}