我想知道在使用带有声明性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>
答案 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的引用。