Dojo后创建问题

Dojo后创建问题,dojo,Dojo,我有一个自定义小部件,它有一个内容窗格(除其他外)。在它里面我有一个多选列表框。我为列表框分配了一个dojoAttachPoint 我想在创建小部件时填充列表框 在post-create中,我试图用项目填充列表框,但是 此。selectFrom(即dojoAttachPoint)为空 为什么这在后期创建中不可用?有解决办法吗 提前谢谢 HTML: 此选项。selectTo为null,不应为空 谢谢我认为dojoAttachPoint只在模板中有意义(请参见dijit.\u Templated)。

我有一个自定义小部件,它有一个内容窗格(除其他外)。在它里面我有一个多选列表框。我为列表框分配了一个
dojoAttachPoint

我想在创建小部件时填充列表框

post-create
中,我试图用项目填充列表框,但是
此。selectFrom
(即
dojoAttachPoint
)为空

为什么这在
后期创建中不可用?有解决办法吗

提前谢谢

HTML:

此选项。selectTo
null
,不应为空


谢谢

我认为dojoAttachPoint只在模板中有意义(请参见dijit.\u Templated)。模板是单独的字符串/文件,用于组成小部件,通常不会在页面中内联使用。

如果没有一些代码片段,很难提供帮助。据我所知,你所描述的对我很有用。。。您的代码片段看起来可能已损坏。您能确保您的templateString(或单独的HTML模板)在其中可见吗?一些我们可以插入并运行以进行故障排除的东西会更好。由于某些原因,它没有显示模板。无论如何,我已经解决了这个问题。这是我的错误。对this.selectTo(为null)的引用位于一个匿名函数中,该函数基本上具有对我的web服务的xhr调用,以获取用户列表并填充列表框。因为我在匿名函数中使用了'this',所以它被设置为null。常见的错误。因此,我在postreate()中保存了一个对“this”的引用,var\u this=this,并使用了_this.selectTo insead,效果很好。谢谢大家的帮助。这不是上面贴的,对吗?如果您确实有一个匿名函数回调,并且您关心“this”的值,那么您可能需要尝试dojo.hitch。它将执行您描述的操作,而不会通过闭包引用笨拙的变量。没错,很抱歉。我没有发布代码的这一部分,因为我认为这与问题无关,但显然是这样。
<div dojoType='dijit.layout.ContentPane'>
  <select name="drop1" style='width:200px;'
      id="selectTo" dojoAttachPoint='selectTo'
      size="10" multiple="multiple">
    <option value="1">second col</option>
    <option value="2">option two</option>
  </select>
</div>
postCreate: function (){
  this.inherited (arguments);
  var newOption = document.createElement('option');
  text = 'Mark Brown';
  value = '1';
  selectTo.options [this.selectTo.options.length] = new Option (name,value);
}