我在我的Rails 3.2項目中使用「rails-backbone」gem。通過這種設計,我的Backbone Views被加載到<head>
標籤中。使用路線時一切正常,但如果我嘗試直接在沒有路線的情況下使用它們,則視圖不會呈現。如果我將<body>
中的視圖代碼都按預期工作。在頭部定義的骨幹視圖不工作,除非使用路徑
在<head>
中定義視圖是否有效?
更新: 在<body>
: 在JavaScript
<script type="text/javascript">
var lv = new ListView();
</script>
列入<head>
文件:
window.ListView = Backbone.View.extend({
el: $("#node"), // This does not work
initialize: function(){
_.bindAll(this, 'render');
this.el = $("#node"); // Works if I add this line
this.render();
},
render: function(){
$(this.el).append("<ul> <li>hello world</li> </ul>");
}
});
據我瞭解#node還不存在,這就是爲什麼它不綁定到el
。我不太明白什麼時候發生在這裏:var lv = new ListView()
,我以爲我是從一個類創建一個實例(我想我得到一個對象的克隆?)。是否有另一種方法通過修改<body>
中的代碼而不是包含的JavaScript代碼工作?
謝謝,這非常有幫助!特別是這個部分:** JAVASCRIPT **中沒有任何類 – 2012-02-18 22:22:50