小编Cri*_*hai的帖子

使用下划线将两个键和值数组合并到一个对象

给定两个数组,一个带键,一个带值:

keys = ['foo', 'bar', 'qux']
values = ['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)

如何通过仅使用underscore.js方法将它转换为对象?

{
   foo: '1', 
   bar: '2',
   qux: '3'
}
Run Code Online (Sandbox Code Playgroud)

我不是在寻找一个简单的javascript答案(像这样).

我问这是个人运动.我认为下划线有一种方法正是这样做,只是发现它没有,这让我想知道它是否可以完成.我有一个答案,但它涉及很多操作.你会怎么做?

javascript underscore.js

23
推荐指数
6
解决办法
3万
查看次数

在JavaScript中{} ==是否为真?

有人可以解释为什么在JavaScript中,

alert({} == true) 显示错误

if ({}) alert('true') 显示真的

改变结果的if条件有什么不同?

我想写一些简写参数验证器obj || (obj = {});,我对这个发现感到困惑.

javascript

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

在呈现Backbone View时收到通知

我正在研究一个Backbone.View应该将集合呈现为可滚动列表的集合.

作为初始渲染的一部分,我需要访问一些布局属性(例如clientWidth),这些属性仅在渲染视图后才可用.

我的问题是,我如何知道何时将视图添加到DOM?


使用a Backbone.View通常有两种方法将视图附加到DOM:

  1. 创建视图>渲染>附加它:

    view = new MyList().render()
    $('#dummy').append(view.$el)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建视图并就地呈现它:

    new MyList({el: '#dummy'}).render()
    
    Run Code Online (Sandbox Code Playgroud)

注意:我知道(1)和(2)不是完全等价的,这不是重点.


让我们考虑我的列表定义如下:

class MyList extends Backbone.View
    render: ->
        @$el->html( ... )
        @

    layout: ->
        max = $el.scrollWidth - $el.clientWidth
        # ... disable / enable scrolling arrows based on max ...
Run Code Online (Sandbox Code Playgroud)

在MyList附加到DOM之后,您如何确保调用layout()?

javascript coffeescript backbone.js backbone-views

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