Javascript backbone js this.model.get不是一个函数
从主干js开始,已经遇到了麻烦 这是我的HTML:Javascript backbone js this.model.get不是一个函数,javascript,html,backbone.js,Javascript,Html,Backbone.js,从主干js开始,已经遇到了麻烦 这是我的HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Backbone training</title> <script src="jquery-1.11.2.js"></script> <script sr
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Backbone training</title>
<script src="jquery-1.11.2.js"></script>
<script src="underscore.js"></script>
<script src="backbone.js"></script>
<style type="text/css">
.rectangle{
position: absolute;
border: 4px solid #000000;
}
</style>
</head>
<body>
<h1>Rectangles</h1>
<div id="canvas"></div>
</body>
<script type="text/javascript" src="rectangles.js"></script>
</html>
一旦我运行它,就会出现以下错误:TypeError:this.model.get不是函数
因为这是教程材料,我想应该没问题,至少对视频中的那个家伙来说没问题。我想我错过了一些东西,所以试着重写了几次,但没有成功。作为一名骨干行业的新手,我不确定自己哪里出了问题
任何链接或建议都非常感谢。提前感谢。您需要将模型实例传递到视图中,如下所示:
var myView = new RectangleView({model: 'myRectangle'});
应成为:
var myView = new RectangleView({model: myRectangle});
仅仅将名称作为字符串传递是不够的,主干网不知道将新矩形指定给哪个变量,也不知道它应该查找什么
您可能还需要修改渲染
方法;我相信传统的主干方法是让视图在构建元素(el
或$el
)时获取元素,然后在调用render时渲染到该元素中(而不是生成一个新元素并返回该元素)。嗯,错过这样的细节真是可耻。感谢您花时间审阅并回复,非常感谢您的建议!:)
var myView = new RectangleView({model: myRectangle});