簡體   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