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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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_Model Binders - Fatal编程技术网

Javascript 将多个模型绑定到主干中的单个视图

Javascript 将多个模型绑定到主干中的单个视图,javascript,backbone.js,model-binders,Javascript,Backbone.js,Model Binders,我有两种型号 var Info = Backbone.Model.extend({ defaults: { name: '', company: '' }, initialize: function(){ console.log('Object of type Info created'); }, }); var Emp = Backbone.Model.extend({ defaults: {

我有两种型号

var Info = Backbone.Model.extend({
     defaults: {
        name: '',
        company: ''
     },
     initialize: function(){
        console.log('Object of type Info created');
     },
});

var Emp = Backbone.Model.extend({
     defaults: {
        empId: '',
        empGroup: ''
     },
     initialize: function(){
        console.log('Object of type Emp created');
     }
});
视图创建为

var model = new Info();
model.set({
    name: 'John',
    company: 'ABC'
});
model.bind('change', function(){
    model.save();
});
model.trigger('change');


var ViewClass = Backbone.View.extend({
     _modelBinder: undefined,
     initialize: function(){
         this._modelBinder = new Backbone.ModelBinder();
         this.render();
     },
     render: function(){
         var template = _.template($('#App1').html());
         this.$el.html(template);
         var bindings = {
             name: '[name=name]',
             empId: '[name=empId]'
         };
         this._modelBinder.bind(model, this.el, bindings);  // this will bind for Info. 
     }
});
HTML:

<script type="text/template" id="App1">
<div id="wrapper">
    Name: <input type="text" name="name" /><br />
    EmpId: <input type="text" name="empId" />
</div>
</script>

名称:
EmpId:

我们如何绑定Info和Emp模型

我真的不知道如何
Backbone.ModelBinder()工作,但我认为您必须创建两个绑定

var infoBindings = {
         name: '[name=name]',
     };
     this._modelBinder.bind(infoModel, this.el, infoBindings);  // this will bind for Info.

 var empBindings = {
         empId: '[name=empId]'
     };
     this._modelBinder.bind(empModel, this.el, empBindings);  // this will bind for Emp.