为 EnhancedGrid 使用过滤器和分页插件时,相同的 HTML 模板从 dojox\grid\enhanced\templates 加载。
有什么方法可以通过使它们成为增强网格的内联 javascript 的一部分来避免服务器对这些 HTML 文件的请求?
为 EnhancedGrid 使用过滤器和分页插件时,相同的 HTML 模板从 dojox\grid\enhanced\templates 加载。
有什么方法可以通过使它们成为增强网格的内联 javascript 的一部分来避免服务器对这些 HTML 文件的请求?
您应该创建一个自定义的 dojo 构建,从而创建一个 js 文件。按照之前 QA 的说明进行操作:
编辑:
构建应该内联添加这些 html 文件,但没有。我用谷歌搜索了一下,发现这个链接与你的问题有关:
http://grokbase.com/t/dojo/dojo-interest/121e536t64/enhancedgrid-filter-problem
它建议使用此链接进行修复
http://dojo-toolkit.33424.n3.nabble.com/Custom-build-including-CSS-and-HTML-files-td3536573.html
引文:
如果您使用的是 AMD 样式的模块定义,那么您可以像这样指定文本依赖项:
define(["dojo/text!some/file.html", "other/module"],
function(template, otherModule){
...
// to use the contents of the html file, treat template as if it were a normal string
someNode.innerHTML = template;
...
});
构建系统应自动将文本依赖项转换为内联字符串文字。大多数 Dojo 文件已经格式化为使用此功能,但我无法解释 dojox 模块。我不确定 dojo.require/dojo.provide 依赖声明系统是否可以实现类似的功能。
我有解决办法。那些在这个问题上苦苦挣扎的人请。请注意,Dojo 1.7.1 存在错误,我们需要使用 Dojo 1.8.3 并在 build 命令中使用 internStrings 选项。您应该会在构建报告中看到 HTML 文件。