Worklight App是否基于Windows Phone 8支持的Dojo工具包1.9?

时间:2013-12-02 07:22:40

标签: windows-phone-8 dojo ibm-mobilefirst windows-phone-8-emulator dojo-1.9

我正在使用它的默认1.9 Dojo Toolkit处理worklight应用程序。我的应用程序在Android模拟器和Web浏览器模拟器中运行良好。我试图在Windows Phone 8 Emulator中测试相同的应用程序,但我无法看到整个主页。我只能看到按钮上使用的Tabbar按钮部分,而我无法看到页面中使用的列表项。我的问题是Dojo Toolkit 1.9是否支持Windows Phone 8?

我访问了dojo 1.9发布链接,它说在dojo 1.9中,已经包含对Windows Phone 8的支持。如果这是真的,那么我的应用程序在Windows Phone 8模拟器中失败的原因是什么?

当我在Worklight Project中创建Windows phone 8环境时,我也得到了以下日志。

     [2013-11-12 22:14:08]             Environment 'Windows Phone 8' was created.
     [2013-11-12 22:14:13]             Starting build process: application 'KaiserTestApp', environment 'windowsphone8'
     [2013-11-12 22:14:28]             Windows Phone 8 app may not work well with Dojo toolkit included for this Application.  Use a different Worklight Project, without Dojo toolkit, for Windows Phone 8 apps.
     [2013-11-12 22:14:28]             Application 'KaiserTestApp' with environment 'windowsphone8' build finished.

home page

1 个答案:

答案 0 :(得分:1)

有一个WPO VM错误可能伤害了ListItem,可能会解释您的问题。要检查你是否落入这只猴子补丁_ItemBase _setSelectedAttr方法,看看是否能解决你的问题:

    _setSelectedAttr: function(/*Boolean*/selected){
        // summary:
        //      Makes this widget in the selected or unselected state.
        // description:
        //      Subclass should override.
        // tags:
        //      private
        if(selected){
            var p = this.getParent();
            if(p && p.selectOne){
                // deselect the currently selected item
                var arr = array.filter(p.getChildren(), function(w){
                    return w.selected;
                });
                array.forEach(arr, function(c){
                    this._prevSel = c;
                    c.set("selected", false);
                }, this);
            }
        }
        this.selected = selected;
        //this._set("selected", selected);
    }

如果这是解决您的问题,请告诉我们,我们将看到如何发布更新版本的Dojo,以解决WP8 WM错误。