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
是否可以使用参数在Backbone.js中创建模型和视图?_Backbone.js - Fatal编程技术网

是否可以使用参数在Backbone.js中创建模型和视图?

是否可以使用参数在Backbone.js中创建模型和视图?,backbone.js,Backbone.js,是否可以使用参数在Backbone.js中创建模型和视图? 我试着简单的喜欢 var TestModel = Backbone.Model.extend( { initialize: function(test){ this.set('test',test); alert("test"); } }); 但是我收到了一条信息,这个.set不是一个函数,简短的回答是肯定的。您没有显示足够的代码,但这是可行的: var TestMode

是否可以使用参数在Backbone.js中创建模型和视图?
我试着简单的喜欢

    var TestModel = Backbone.Model.extend( {
        initialize: function(test){
        this.set('test',test);
        alert("test");
    }
});

但是我收到了一条信息,这个.set不是一个函数,简短的回答是肯定的。您没有显示足够的代码,但这是可行的:

var TestModel = Backbone.Model.extend({});

var t = new TestModel({test: 'test'});

t.get('test');
>>> test
您不能将任何内容传递到
initialize
方法中,但可以在实例化对象时传入哈希

尽管如此,由于它不会在创建时进行验证(因此它将始终返回有效的模型),您最好执行以下操作:

var t = new TestModel();
t.set('test', 'test');

因此,如果您的值未验证,您将能够收到一个错误。

简短的回答是“是”。您没有显示足够的代码,但这是可行的:

var TestModel = Backbone.Model.extend({});

var t = new TestModel({test: 'test'});

t.get('test');
>>> test
您不能将任何内容传递到
initialize
方法中,但可以在实例化对象时传入哈希

尽管如此,由于它不会在创建时进行验证(因此它将始终返回有效的模型),您最好执行以下操作:

var t = new TestModel();
t.set('test', 'test');

因此,如果您的值未验证,您将能够收到一个错误。

示例代码中存在语法错误,但应该可以正常工作。您还需要将模型的
属性
作为第一个参数,并将通用
选项
对象作为第二个参数(请参见此处的代码)

不过,从示例代码来看,您似乎只是在尝试将数据传递给模型,模型会自动处理


var TestModel = Backbone.Model.extend({});

var t = new TestModel({foo: "bar"});

console.log(t.get("foo"));
或者,如果您试图获得一些选项,您可以这样做:


var TestModel = Backbone.Model.extend({
  initialize: function(attrs, options){
    console.log(options.foo);
  }
});

var t = new TestModel(null, {
  foo: "bar"
});

示例代码中有一个语法错误,但应该可以正常工作。您还需要将模型的
属性
作为第一个参数,并将通用
选项
对象作为第二个参数(请参见此处的代码)

不过,从示例代码来看,您似乎只是在尝试将数据传递给模型,模型会自动处理


var TestModel = Backbone.Model.extend({});

var t = new TestModel({foo: "bar"});

console.log(t.get("foo"));
或者,如果您试图获得一些选项,您可以这样做:


var TestModel = Backbone.Model.extend({
  initialize: function(attrs, options){
    console.log(options.foo);
  }
});

var t = new TestModel(null, {
  foo: "bar"
});
对象“this”的所有值都是“attributes”。所以如果你想访问任何属性

你可以试试

警报(this.attributes.test)

对象“this”的所有值都是“attributes”。所以如果你想访问任何属性

你可以试试


警报(this.attributes.test)

您是否首先实例化了模型?你能告诉我们你在哪里出错的代码吗?此外,您在上面的代码中缺少a}和a)。目前,该代码不会运行。@tkone我忘了粘贴}),但代码中有。您是先实例化模型的吗?你能告诉我们你在哪里出错的代码吗?此外,您在上面的代码中缺少a}和a)。目前,该代码不会运行。@tkone我忘了粘贴}),但我在代码中有。