Dojo 1.7 Ajax 内容和 AMD 要求
Dojo 1.7 Ajax Content and AMD Require
我在 Dojo 1.7 中,异步加载。
我有一个内容窗格,我通过 ajax 填充内容。我想在此内容中以声明方式使用上传者 - 如何正确要求上传者?
假设这是我用来生成将设置为内容窗格的内容的服务器页面:
<script>
require(["dojox/form/uploader/FileList",
"dojox/form/uploader/plugins/Flash"]);
</script>
<center>
<input type="file" multiple="true" data-dojo-type="dojox.form.Uploader"
data-dojo-props='
label:"Foo My Bar!",
url:"/tests/UploadFile.php",
uploadOnSelect:"true"'/>
</center>
<br>
<div id="files" data-dojo-type="dojox.form.uploader.FileList"
data-dojo-props='uploaderId:"uploader"'></div>
但这不起作用:找不到小部件类。 我知道这是因为加载器处于异步模式,显然解析器正在尝试在 require 调用完成之前渲染小部件。
那么,问题是,如何正确地做到这一点? 如果我将 require 调用放在应用程序的主页中,事情就会起作用(包括在主页中以声明方式设置的小部件上)。
似乎
没有加载"dojox/form/Uploader"...需要吗?
你可以在调用dojo.parser.parse时随时解析内容。如果要从代码执行第一次解析,在 dojo config 上设置 "parseOnLoad : false",并调用 "dojo.parser.parse(dojo.body());"。
您需要输入 要求您在页面上以声明方式引用的所有小部件模块:
require(["dojo/parser","dojox/form/Uploader","dojox/form/uploader/FileList"],
function(parser){
parser.parse()
});
您是否尝试过在 dijit 中使用 dojox/layout/ContentPane 而不是 ContentPane?dojox 中的 ContentPane 类型派生自 dijit 中的类型,允许在动态内容中运行代码。在解析内容中的小部件时,它似乎也会加载必要的小部件引用。
相关文章:
- 要求输入在数据列表中
- 要求未定义JS回调参数
- Amd,希望确保某个东西总是最后执行
- 当脚本由system.js加载时,如何要求('electron')
- 要求定义另一个文件中的对象
- 让Webpack管理Quirky AMD定义的最佳方式
- 这是什么“;要求“;事情
- 为什么spyOn"停止函数“”的所有执行;Jasmine(要求澄清Jasmine 2.2间谍文件)
- AMD格式是否要求模块为单件
- 如何在nodejs中要求类
- 当浏览器控制台未打开时,为什么要求会导致Internet Explorer 9超时
- 将javascript应用程序迁移到使用AMD的提示(例如requirejs)
- 这个代码在网页中的作用和要求是什么
- Last.fm API发送2个曲目时,我要求一个,如果我正在听一首歌
- Dojo 1.7 Ajax 内容和 AMD 要求
- 要求.js,AMD和使用jwPlayer 7的“缺少许可证密钥”
- 不能在registerSuite .js中要求AMD模块
- 要求/AMD外部模块分辨率
- 要求非amd文件
- 如何处理有条件要求的AMD模块