如何在使用声明性Dojo时获取对象引用

时间:2013-11-17 16:18:54

标签: javascript html dojo declarative

我想知道在使用带有声明性HTML的Dojo时如何获取对象引用。

我从一个示例中获得了一些滑动面板代码:http://demos.dojotoolkit.org/demos/mobileSlideShow/demo.html

在我的版本中有导航按钮。 dojox.Mobile.SwapView有一个goTo方法,我应该可以使用它,但我无法弄清楚如何获取我需要调用方法的对象引用。在下面的示例中,对象将是'ref' - 我如何获得此引用?

<div class="panel" data-dojo-type="dojox.mobile.SwapView">
  <p>Some text..</p>
  <div class="next" onclick="ref.goTo(1)">Next</div>
</div>
<div class="panel" data-dojo-type="dojox.mobile.SwapView">
  <p>Some other text..</p>
  <div class="prev" onclick="ref.goTo(-1)">Prev</div>
</div>

2 个答案:

答案 0 :(得分:0)

你可以做到

onclick="dijit.registry.byNode(this.parentNode).goTo(1)"

onclick="dojo.publish('/dojox/mobile/prevPage', dijit.registry.byNode(this.parentNode))"

不确定是否有更清洁的方式

答案 1 :(得分:0)

除了上面的答案,另一个选项是使用“data-dojo-id”属性。您将此添加到您的声明中,然后将创建一个提供名称的全局变量。此变量将设置为对声明的窗口小部件的引用。

例如:

<div data-dojo-type="dojox.mobile.SwapView" data-dojo-id="view1">

将创建一个名为view1的变量,该变量将保存对SwapView的引用。