你的位置:首页 > Java教程

[Java教程]dojox/app应用中使用dijit/layout/ContentPane时上下文丢失


    dojo一直是我最喜欢的javascript库。最近在开发项目时使用了dojox/app来构建项目,并使用dojox/mvc进行数据绑定。但是当我使用dijit/layout/ContentPane来加载内容时,href指定的页面模板中出现了上下文丢失的现象:国际化资源变量nls是undefined。但是我明明在config.json中定义视图时指定了nls的,而且其他页面模板中都能正常使用nls。我通过调试发现,dojox/app/View对象是有个nls的变量引用了国际化资源,在其他视图模板中都可以使用${nls.资源名}的方式引用这个变量,但是href指定的html模板中nls是undefined.如何在html模板中引用nls资源成了个难题,因为在html模板中无法调试,我不知道this指针指向的是什么,后来在进行数据绑定的时候,我突然想到,为什么不利用dojox/mvc/at来把这些nls资源绑定到模板上呢?解决方法如下图: