Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 手柄未读取backbone.js模型属性_Javascript_Backbone.js_Handlebars.js - Fatal编程技术网

Javascript 手柄未读取backbone.js模型属性

Javascript 手柄未读取backbone.js模型属性,javascript,backbone.js,handlebars.js,Javascript,Backbone.js,Handlebars.js,我在用handlebar和backbone.js显示模型属性时遇到了一些奇怪的困难 这是代码 一切正常。有人对此有什么解释吗 var html = template(this.model); 应该是 var html = template(this.model.toJSON()); 基本上,this.model具有一个attributes属性,该属性存储所有可以使用this.model.get()检索的信息,并使用this.model.set()进行设置。这些特性未附着到基础模型 当您有以下

我在用handlebar和backbone.js显示模型属性时遇到了一些奇怪的困难 这是代码

一切正常。有人对此有什么解释吗

var html = template(this.model);
应该是

var html = template(this.model.toJSON());
基本上,
this.model
具有一个
attributes
属性,该属性存储所有可以使用
this.model.get()
检索的信息,并使用
this.model.set()
进行设置。这些特性未附着到基础模型

当您有以下代码时

initialize : function() {
    this.title = "Menu Item Title default";  // BAD!
    this.price =  "menu item price default"; // BAD!
}
将属性附着到基础模型。这是对主干网的不正确使用。如果您随后尝试执行
this.model.get(“title”)
,它将是
未定义的

应该是

var html = template(this.model.toJSON());
基本上,
this.model
具有一个
attributes
属性,该属性存储所有可以使用
this.model.get()
检索的信息,并使用
this.model.set()
进行设置。这些特性未附着到基础模型

当您有以下代码时

initialize : function() {
    this.title = "Menu Item Title default";  // BAD!
    this.price =  "menu item price default"; // BAD!
}

将属性附着到基础模型。这是对主干网的不正确使用。如果您尝试在之后执行
this.model.get(“title”)
,它将是
未定义的

谢谢,但这仍然不能解释为什么我使用构造函数而不是默认构造函数时它能工作谢谢,但这仍然不能解释为什么我使用构造函数而不是默认构造函数时它能工作
var html = template(this.model.toJSON());
initialize : function() {
    this.title = "Menu Item Title default";  // BAD!
    this.price =  "menu item price default"; // BAD!
}