繁体   English   中英

我的Backbone.View函数未定义

[英]my Backbone.View functions are undefined

我正在扩展Backbone.View,然后调用其渲染函数,但出现“未捕获的TypeError:view.render不是函数”

代码(在文档加载时运行):

var view = Backbone.View.extend({
 id: "my-view",
 render: function() {
   console.log("in render, this =", this);
   this.el.innerHTML = "Hello";
   return this;
 }
});
console.log("outside view, view =", view);
document.body.appendChild(view.render().el);

导致控制台:

outside view, view = function (){return r.apply(this,arguments)}
VM639:58 Uncaught TypeError: view.render is not a function

看起来它应该是一个构造函数,但是我尝试制作一个新的view(),然后调用其函数,并得到了另一个错误:

Uncaught TypeError: this._ensureElement is not a function
at e.View (backbone-min.js:1)   

我在其他地方寻找了答案( 主干网视图:函数未定义渲染主链模型视图返回未定义 ),但是示例很复杂,我不知道如何将答案应用于我的代码。 我举了一个非常简单的例子,希望即使我的错误很简单,也能鼓励您回答。

这是一个jsfiddle: https ://jsfiddle.net/s9Lhq82a/

您定义了一个从Backbone.View扩展的视图类。 要创建该类的实例,您必须使用new

var View = Backbone.View.extend({
    // this is your View Class
});

var myView = new View(); // this is an instance of View, it has a render function
myView.render().el;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM