2012-07-28 37 views
0

我有这样的代码 - 我只需要添加一个类将在模板中呈现的DOM元素。但是,这不起作用!萨米的回调

this.get('#/:post_id', function(context){ 
      context.app.swap(''); 
     this.load('/post/' + this.params['post_id']) 
      .then(function(candidates){ 
        $.each(candidates[1], function(i, candidate){ 
         context.render("static/templates/candidate.template", {candidate:candidate}) 
        .appendTo(context.$element()); 
      }); 
     }) 
     .then(function(){ 
      $('h3').addClass('custom_class'); 
     }); 

Candidate.template:

<div> 
    <h3>Name : <%= candidate.name %> </h3> 
    ... 
    ... 
</div> 

回答

0

我是新来的森美,所以借此与一粒盐。我认为这是失败的,因为你的第一个.then()不会返回任何东西(如上下文),这意味着下一个.then()没有任何可操作的地方。

做了这样的工作吗?

this.get('#/:post_id', function(context){ 
     context.app.swap(''); 
    this.load('/post/' + this.params['post_id']) 
     .then(function(candidates){ 
       $.each(candidates[1], function(i, candidate){ 
        context.render("static/templates/candidate.template", {candidate:candidate}) 
       .appendTo(context.$element()); 
     }); 
     return context; 
    }) 
    .then(function(){ 
     $('h3').addClass('custom_class'); 
    }); 
}); 
+0

非常感谢Zach!这完美的作品:) – Prakhar 2012-07-30 02:29:28