javascript - 在dojo中将数据从一个选项卡绑定(bind)到另一个选项卡(在选项卡打开时?)

标签 javascript dojo

我一直在使用 dojo 1.7 并且有两个选项卡。我在一个选项卡的某个字段中设置了一个值,该值需要进入另一个选项卡上的另一个字段。 我似乎记得在 1.7+ 中打开选项卡时有一种方法可以执行 javascript 例程,但在我的一生中,我无法找到执行此操作的参数。 我计划执行 javascript 以通过 dojo.byId 读取值,然后在另一个选项卡中填充该值。除非有人知道一种更简单的方法将一个选项卡中的值绑定(bind)到另一个选项卡中的另一个字段。那真是太好了!
和往常一样,感谢您的建议。 珍妮

最佳答案

对于单个临时同步,我建议使用 dojo/Statefulwatch 方法,它是每个 dijit 小部件(更准确地说是子类 的每个类)都可用的 mixin >dijit/_WidgetBase)。它允许监视值的变化,而不是在函数调用上 Hook 事件。

var spinner1 = registry.byId("spinner1")
, spinner2 = registry.byId("spinner2")
;

spinner1.watch("value", function(prop, oldValue, newValue) {
    spinner2.set("value", newValue);
});

在 jsFiddle 上查看它的实际情况:http://jsfiddle.net/phusick/YyNCk/

对于更复杂的情况,请参阅我对 Synchronize interdependent Dojo widgets/values 的回答并查看一个工作示例:http://jsfiddle.net/phusick/HCx3w/

编辑:您原来问题的答案是选项卡的 ContentPane 方法 _onShow 上的 dojo/aspect:

aspect.after(registry.byId("tab2"), "_onShow", function() {
    console.log("#tab2 is now visible");
});

我将其添加到上述 jsFiddle 中.

关于javascript - 在dojo中将数据从一个选项卡绑定(bind)到另一个选项卡(在选项卡打开时?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12167742/

相关文章:

javascript - 我需要使用 JSON 对象从数组创建图像库

javascript - .scrollTop(0) 无法让 div 滚动到顶部

javascript - Dgrid - 如何将单元格合并成一行

javascript - 使用 javascript 在连续单击按钮时编辑图像转换样式

javascript - Angular 与 DOJO 应用程序

javascript - dojo可以获取整个页面的所有事件吗?

javascript - 您可以在构建时压缩 Angular 图像 Assets 吗?

javascript - 粘性标题 - 使用标签滚动

javascript - 处理来自不同页面的 ajax URL?

dojo - 更新 Dojo 提供