如何在模板上的附加模板中传递变量。我正在添加flash消息以显示错误;
P.S是骨干的新手
这是故障代码;
error: function(user, response){
//create flash message with errors and render new page
var failureErrors = $.parseJSON(response.responseText).errors;
var errorView = new Skymama.Views.ErrorMessages();
$("#error_messages").append(errorView.render().el({errors: failureErrors}));
}
这是模板;
<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">
<i class="icon-remove"></i>
</button>
<div id="error_list">
<ul>
<% errors.each(function(error){ %>
<% }); %>
</ul>
</div>
<br>
</div>
答案 0 :(得分:1)
在你的代码中,我看到你试图将params传递给el
- 这不是一个函数。
您只需在ErrorMessages视图的render方法中添加一个参数即可获取错误:
//in your Skymama.Views.ErrorMessages...
render: function (templateData) {
this.$el.html(this.template(templateData));
}
并在您的错误处理程序中:
$("#error_messages").append(errorView.render({errors: failureErrors}));
有各种方法可以改善这种情况,例如:您可以将failureErrors作为集合并将其传递给errorView,并使用集合事件来处理呈现。