【问题标题】:gwt define-property doesn't generate new compilation permutationgwt define-property 不会生成新的编译排列
【发布时间】:2010-07-03 03:31:18
【问题描述】:

我将以下内容添加到 myModule.gwt.xml。我预计它会在编译时生成 6*2 排列。然而,它仍然只产生了六个排列。我错过了什么吗?

<define-property name="mobile.user.agent" values="mobile, not_mobile" />

<property-provider name="mobile.user.agent"><![CDATA[
{
 var ua = window.navigator.userAgent.toLowerCase();
 if ( ( ua.indexOf('android') != -1) || 
   ( ua.indexOf('iphone') != -1) || 
   ( ua.indexOf('midp') != -1) || 
   ( ua.indexOf('opera mobi') != -1) || 
   ( ua.indexOf('opera mini') != -1) || 
   ( ua.indexOf('blackberry') != -1)  )
 { return 'mobile'; }

 else { return 'not_mobile';}
}
 ]]></property-provider>

我可以看到 myModule.nocache.js 文件包含以下内容:

u[sb]=function(){{var a=window.navigator.userAgent.toLowerCase();if(a.indexOf(tb)!=-1||(a.indexOf(ub)!=- 1||(a.indexOf(vb)!=-1||(a.indexOf(wb)!=-1||(a.indexOf(xb)!=-1||a.indexOf(yb)!= -1))))){return zb}else{return Ab}}};t[sb]={mobile:0,not_mobile:1};

【问题讨论】:

    标签: gwt permutation


    【解决方案1】:

    如果你这样离开它,什么都不会发生。您需要根据您的属性制定延迟绑定规则。因此,对于您的移动浏览器,您可能希望对某些界面有其他实现,而不是桌面浏览器(很可能是与视图相关的界面)。这可以很好地与 MVP 模式配合使用,您可以根据模块属性选择不同的 View 实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多