NodeList.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. define("dojox/dtl/ext-dojo/NodeList", [
  2. "dojo/_base/lang",
  3. "dojo/_base/NodeList",
  4. "../_base"
  5. ], function(lang,Nodelist,dd){
  6. /*=====
  7. Nodelist = dojo.Nodelist;
  8. dd = dojox.dtl;
  9. =====*/
  10. var nl = lang.getObject("dojox.dtl.ext-dojo.NodeList", true);
  11. lang.extend(Nodelist, {
  12. dtl: function(template, context){
  13. // summary: Renders the specified template in each of the Nodelist entries.
  14. // template: dojox.dtl.__StringArgs|String
  15. // The template string or location
  16. // context: dojox.dtl.__ObjectArgs|Object
  17. // The context object or location
  18. var d = dd, self = this;
  19. var render = function(template, context){
  20. var content = template.render(new d._Context(context));
  21. self.forEach(function(node){
  22. node.innerHTML = content;
  23. });
  24. }
  25. d.text._resolveTemplateArg(template).addCallback(function(templateString){
  26. template = new d.Template(templateString);
  27. d.text._resolveContextArg(context).addCallback(function(context){
  28. render(template, context);
  29. });
  30. });
  31. return this;
  32. }
  33. });
  34. return nl;
  35. });