我可以成功地做到这一点:
App.SomeCollection = Backbone.Collection.extend({
  comparator: function( collection ){
    return( collection.get( 'lastName' ) );
  }
});
Run Code Online (Sandbox Code Playgroud)
如果我想要一个仅按'lastName'排序的集合,那就太好了.但我需要动态完成这种排序.有时,我需要改为排序,比如'firstName'.
我的彻底失败包括:
我尝试将指定变量的额外变量传递给sort()on.那没用.我也尝试过sortBy(),但也没用.我尝试将自己的函数传递给sort(),但这也不起作用.将用户定义的函数传递给sortBy()结果没有each方法,从而破坏了新排序的主干集合.
有人能提供一个实际的例子,通过一个未硬编码到比较器函数中的变量进行排序吗?或者你有任何黑客有效吗?如果没有,工作sortBy()电话?
我想创建两个(或更多)视图实例,每个视图实例具有不同的el属性,并通过backbone.js视图的事件哈希(而不是通过jQuery)将事件绑定到它们.
在所有实例化都相同的情况下触发事件el很容易:
someView = Backbone.View.extend({
  el: '#someDiv',
  events: {
    'click': 'someFunction'
  },
  someFunction: function(){
    //Do something here
  }
});
Run Code Online (Sandbox Code Playgroud)
到目前为止,如果我el在initialize函数中分配,并events正常设置如下,事件不会触发:
someView = Backbone.View.extend({
  events: {
    'click': 'someFunction'
  },
  initialize: function( options ){
    this.el = options.el
  },
  someFunction: function(){
    //Do something here
  }
});
Run Code Online (Sandbox Code Playgroud)
我的第一直觉是el成为一个返回感兴趣的dom元素的字符串表示的函数:
someView = Backbone.View.extend({
  el: function(){
    return '#someDiv-' + this.someNumber
  },
  events: {
    'click': 'someFunction'
  },
  initialize: function( options ){
    this.someNumber = options.someNumber
  },
  someFunction: function(){
    //Do …Run Code Online (Sandbox Code Playgroud) 没有系统更改,只是每次尝试安装gem时都会因为此错误而失败bundle install,但我甚至不知道为什么sudo被调用,因为gems安装在本地rvm目录中...
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
Run Code Online (Sandbox Code Playgroud)
谁有人见过这个?