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_Collections_Model_Models - Fatal编程技术网

Backbone.js 主干收集将模型阵列作为单个模型?

Backbone.js 主干收集将模型阵列作为单个模型?,backbone.js,collections,model,models,Backbone.js,Collections,Model,Models,在下面的代码中 var productcollection = new Products([this.$results]); alert(productcollection.length); 这里是。$results包含一个更像这样的字符串 {"ProdID":"98","ProdName":"product1","ProdPic":"null","ProdGist":"null","ProdDesc":"null","ProdCat":"","ProdTech":"","LastModi

在下面的代码中

 var productcollection = new Products([this.$results]);
 alert(productcollection.length);
这里是。$results包含一个更像这样的字符串

{"ProdID":"98","ProdName":"product1","ProdPic":"null","ProdGist":"null","ProdDesc":"null","ProdCat":"","ProdTech":"","LastModified":""},{"ProdID":"928","ProdName":"product21","ProdPic":"null","ProdGist":"null","ProdDesc":"null","ProdCat":"","ProdTech":"","LastModified":""}

但集合的长度返回为“1”。我应该对我提供给集合的模型数据进行什么更正。因此,如果您确实有一个字符串,它将返回“2”。$results请尝试以下操作:

var array = JSON.parse('['+this.$results+']');
var productcollection = new Products( array );
您的代码正在创建一个包含一个大字符串的数组,如:

new Products( ["text"] );

成功了!但渴望了解我的代码背后的问题???为什么它被认为是一个单一的实体而不是一系列的模型?编辑,这有助于您理解代码中发生了什么吗?是的。!你是对的。很好地解释了,有没有一种方法可以选择模型并读取它们的属性值,因为我们不在这里命名模型?productcollection.at(0)提供了第一个模型,依此类推。productcollection.at(0).get(“属性名”)为您提供集合中第一个模型的属性