【问题标题】:How to use dojo moveTo programmatically through javascript?如何通过javascript以编程方式使用dojo moveTo?
【发布时间】:2013-01-03 09:53:51
【问题描述】:

我可以将 Heading 或 ListItem 标记为具有 moveTo 属性,并且该过渡效果很好。

有没有办法以编程方式执行到命名视图的转换,比如单击按钮?

我在网上的某个地方找到了下面的代码,但它不起作用。我需要类似的东西-

function moveTo(){
var w = dijit.byId('currentView');
w.performTransition('#newView',1,"fade",null);
}

【问题讨论】:

  • 我正在构建一个应用程序。我不需要数字控件。

标签: dojo


【解决方案1】:

此代码示例在 ID 为“ButtonID”的按钮上注册了一个 onclick 事件处理程序。按下按钮后,将在 dijit 注册表中查找以找到显示的视图。

您可以在任何 dojox.mobile.View 上调用函数 performTransition(...)。

require(["dijit/registry"], function(registry) {
    dojo.ready(function() {
        // Button Listener
        registry.byId("ButtonID").on("click", function(){
            var oldView = dijit.registry.byId("ID_View1");
            oldView.performTransition("ID_View2", 1, "slide", null);
        });
});

但是: 以编程方式更改“moveTo”参数比在视图之间执行转换要困难得多。您必须做一些讨厌的事情来覆盖小部件的 moveTo 属性,例如 dojox.mobile.Heading 中的 Backbutton

var heading1 = dijit.registry.byId("ID_Heading");
heading1.destroyDescendants();
heading1.moveTo = viewId;
heading1.backButton = false;
heading1._setBackAttr("Zurück");            

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多