小编Ada*_*ers的帖子

访问父骨干视图的属性

我有一个调用子视图的骨干视图:

  lr.MapView = Backbone.View.extend({
    el: $('#map'),
    foo: "bar",
    initialize: function() {
      var that = this;
      _.bindAll(this, "render", "addAllEvents", "addOneEvent");
      this.collection = new lr.Events();
      this.collection.fetch({
        success:  function(resp) {
          that.render();
          that.addAllEvents();
        }
      });   
    },

    addAllEvents: function() {
      this.collection.each(this.addOneEvent);
    },

    addOneEvent: function(e) {
      var ev = new lr.EventView({ 
        model:  e
      });
    },

    render: function() {
    } 
  });
Run Code Online (Sandbox Code Playgroud)

这是子视图:

  lr.EventView = Backbone.View.extend({
    initialize: function() {
      _.bindAll(this, "render");
      console.log(lr.MapView.foo); // will console.log 'undefined' 
    },
    render: function() {
    }
  });
Run Code Online (Sandbox Code Playgroud)

我希望能够在子视图中访问父视图的属性,但它不能使用上面的代码.例如,如何在子视图中访问"foo"变量?

javascript javascript-framework backbone.js

9
推荐指数
1
解决办法
9390
查看次数

Backbone Collection不会填充

我是一名初学者,并且在设置一个非常基本的虚拟示例工作时遇到了麻烦.我确定这是一个愚蠢的错误的结果,但我会感激任何指导.

这是我的javascript:

var lr = lr || {};

lr.Event = Backbone.Model.extend({});

lr.Events = Backbone.Collection.extend({
  model: lr.Event,
  url: '/json/dummy.json'
});

lr.EventView = Backbone.View.extend({
  tagName: 'div',
  initialize: function() {
    _.bindAll(this, "render");
    this.collection = new lr.Events();
    this.collection.fetch();
    console.log(this.collection.toJSON());
    this.render();
  },
  render: function() {
  } 
});

lr.ev = new lr.EventView();
Run Code Online (Sandbox Code Playgroud)

这是json/dummy.json:

[
  { "title": "Event1", "Location": "New York, NY" },
  { "title": "Event2", "Location": "Cleveland, OH" }
]
Run Code Online (Sandbox Code Playgroud)

我希望这可以在console.log中使用JSON,但它取而代之的是console.log是一个空数组.我究竟做错了什么?

javascript javascript-framework backbone.js

1
推荐指数
1
解决办法
575
查看次数