Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过主干将错误消息从控制器传递到视图_Javascript_Backbone.js - Fatal编程技术网

Javascript 通过主干将错误消息从控制器传递到视图

Javascript 通过主干将错误消息从控制器传递到视图,javascript,backbone.js,Javascript,Backbone.js,我有以下HTML格式的错误消息: <div class="alert alert-error"> <div class="content"> <p> <i class="fa fa-warning"></i> User not found. </p> </div> </div> 对我来说,最佳实践是创建

我有以下HTML格式的错误消息:

<div class="alert alert-error">
    <div class="content">
        <p>
             <i class="fa fa-warning"></i>
            User not found.
        </p>
    </div>
</div>

对我来说,最佳实践是创建对象errorMessageView

HTML:

<div id="errorInfo"></div>

您可以使用新方法扩展主干视图以显示如下错误:

_.extend(Backbone.View.prototype, {
    showError: function(message) {
        // Here you render your error, may be like this : $('#errorInfo').html(message);
    }
});
在你看来:

var self = this; // I assume that you are in the view
user.save({}, {
  success: function(model, response) {
    if (response.error) {
      self.showError(/* things you want to pass */);
    }
  }
});

这不是重点。我知道如何从技术上渲染,但我不认为通过主干渲染消息是一种好的做法。它是?这是最好的方法?
.extend(…
仅此而已?在我视图的同一个文件中?我认为专门针对错误的视图是一件好事。@GuilhermeOderdenge是
.extend(…
仅此而已,您可以将其放置在您放置的
主干.History.start的位置(…
以确保所有视图都具有此新功能。主干视图用于与模型/集合和事件交互,如果您以您想要的方式使用它,就像将其用作模板,而不是用于that@GuilhermeOderdenge那么,你试过这个解决方案吗?
_.extend(Backbone.View.prototype, {
    showError: function(message) {
        // Here you render your error, may be like this : $('#errorInfo').html(message);
    }
});
var self = this; // I assume that you are in the view
user.save({}, {
  success: function(model, response) {
    if (response.error) {
      self.showError(/* things you want to pass */);
    }
  }
});