繁体   English   中英

在ribs.js中访问视图的元素

[英]Accessing the element of a view in backbone.js

我将脚趾浸入Backbone.js,到目前为止,这确实是一种享受。 非常简单,但功能极为强大。 很棒的图书馆!

我有一个问题:我似乎无法访问视图的链接元素( el属性)。

我下面的示例警告undefined 看看这个小提琴 ,看看它的实际效果。

$(function() {
    // Init when DOM is Ready
    App.init();
});

var App = {
    init: function() {
        new App.MyView();
    }
}

App.MyView = Backbone.View.extend({
    el: '#some-id',
    initialize: function() {
        App.MyController.doSomething();
    }
});

App.MyController = {
    doSomething: function() {
        alert('MyView.el: ' + App.MyView.el); // Outputs 'MyView.el: undefined'
    }
}

2个问题:

  1. 您已将el定义为选择器,因此它必须在DOM中
  2. 您试图提醒构造函数的el属性而不是实例el属性。

固定:

http://jsfiddle.net/X8B2U/2/

<div id="some-id"></div>
$(function() {
    // Init when DOM is Ready
    App.init();
});

var App = {
    init: function() {
       new App.MyView();

    }
}

App.MyView = Backbone.View.extend({
    el: '#some-id',
    initialize: function() {
        App.MyController.doSomething(this);
    }
});

App.MyController = {
    doSomething: function( myView ) {
        console.log( myView );
        alert('MyView.el: ' + myView.el);
    }
}

el属性应该是引用现有DOM元素的jquery元素。

el : $('#some-id')

暂无
暂无

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

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