javascript - Dojo Dialog.show() 不工作

标签 javascript rest dojo

我想在 Dojo 选择框 (dijit.form.select) 中显示来自 JsonRest 的 JSON。因此,我有以下代码:

    var processStore = new JsonRest({
                target: "http://cnwin.ebusiness.local/activiti-rest/service/repository/process-definitions?startableByUser=kermit", 
                headers: {"Authorization": "Basic a2VybWl0Omtlcm1pdA=="}, 
                allowNoTrailingSlash: false
                });

var myWidget = dijit.byId("processList");
myWidget.setStore(processStore);
this.show();

This是一个 dijit/对话框。此代码工作正常并且显示对话框。但 REST-Call 是异步的。当我在此代码块周围添加以下方法时,行 this.show()不再工作:

    var processStore = new JsonRest({
    target: "http://cnwin.ebusiness.local/activiti-rest/service/repository/process-definitions?startableByUser=kermit", 
    headers: {"Authorization": "Basic a2VybWl0Omtlcm1pdA=="}, 
    allowNoTrailingSlash: false
    });

processStore.query().then(function(response){
var myWidget = dijit.byId("processList");
    myWidget.setStore(processStore);
    this.show();
}

使用 printlns,我可以看到除了最后一个命令( this.show() )之外的所有命令都已执行 有人有想法吗?

感谢您的回答和最诚挚的问候 本

最佳答案

我认为 this.show() 不再在对话框的范围内。

您可能想尝试以下操作:

var processStore = new JsonRest({
    target: "http://cnwin.ebusiness.local/activiti-rest/service/repository/process-definitions?startableByUser=kermit", 
    headers: {"Authorization": "Basic a2VybWl0Omtlcm1pdA=="}, 
    allowNoTrailingSlash: false
});

var self = this;  // You can keep the scope of this saved
processStore.query().then(function(response){
    var myWidget = dijit.byId("processList");
    myWidget.setStore(processStore);
    self.show();  // Now self points to the dialog box
}

通过添加 var self = this;然后在函数中使用 self.show() , self 应该是对话框。

关于javascript - Dojo Dialog.show() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22403864/

相关文章:

javascript - 检测 DOM 对象与 jQuery 对象

rest - RESTful (HATEOAS ) 对专业客户实用吗?

java - 从 GET 请求中获取 Jersey 中的 header

javascript - Dojox.grid.datagrid 排序顺序

javascript - 如何将小部件添加到 Dojo gridx/Grid header ?

javascript - 初学者挑战 : Sum all even numbers 1-1000. 是我的基本原理错误还是我的代码错误?

javascript - 使用不同的查询字符串重新打开相同的 Colorbox

javascript - 如何将id,值数组列表转换为[id] :[value] type object

iphone - iOS - 如何使 tableview 使用分页 API 输出?

Javascript - 在没有 eval() 的情况下分配动态值