小编Ana*_*nar的帖子

如何根据ID之外的某些属性从集合中查找模型?

我有一个带有几个对象的模型:

//Model
Friend = Backbone.Model.extend({
    //Create a model to hold friend attribute
    name: null,
}); 

//objects
var f1 = new Friend({ name: "Lee" });
var f2 = new Friend({ name: "David"});
var f3 = new Friend({ name: "Lynn"});
Run Code Online (Sandbox Code Playgroud)

而且,我将这些朋友对象添加到一个集合:

//Collection
Friends = Backbone.Collection.extend({
    model: Friend,
});

Friends.add(f1);
Friends.add(f2);
Friends.add(f3);
Run Code Online (Sandbox Code Playgroud)

现在我想根据朋友的名字得到一个模型.我知道我可以添加一个ID属性来实现这一目标.但我认为应该有一些更简单的方法来做到这一点.

javascript backbone.js backbone.js-collections

47
推荐指数
4
解决办法
4万
查看次数

我什么时候需要在Backbone.js中使用_.bindAll()?

我正在学习backbone.js,并对此感到困惑:我正在关注教程:http: //arturadib.com/hello-backbonejs/

正如您在第一个示例中所看到的(1.js):

(function($){
  var ListView = Backbone.View.extend({    
    el: $('body'), // attaches `this.el` to an existing element.

    initialize: function(){
      _.bindAll(this, 'render'); // fixes loss of context for 'this' within methods

       this.render(); // not all views are self-rendering. This one is.
    },

    render: function(){
      $(this.el).append("<ul> <li>hello world</li> </ul>");
    }
  });

  var listView = new ListView();      
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

但是,如果我评论出这句话:_.bindAll(this, 'render');这仍然有效.我在谷歌搜索过,有人说这个方法bindAll()是必要的,因为如果我切换我的上下文,调用this.render可能不可用.我对"背景"感到困惑.当call(this.render)不可用时,还有人可以解释一下吗?

javascript backbone.js

22
推荐指数
2
解决办法
1万
查看次数

如何在Rails风格中读取文件

我有一些数据存储为XML文件.我把它放到我创建的目录中,app/data/myxml.xml.

现在我想用Nokogiri解析它.要找到我引用绝对路径的文件:

@doc = Nokogiri::XML(open("/home/me/webA/myrailsproject/app/data/myxml.xml"))
Run Code Online (Sandbox Code Playgroud)

绝对路径肯定会使代码变得丑陋.是否有更简洁,更清晰的方式来引用该文件?如:

@doc = Nokogiri::XML(open("myxml"))
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails nokogiri

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