编辑了更多上下文。当 $CONSTRUCTOR = pass_in 时,它会在 Firefox 和 Chrome 中抛出“passed_in is not a constructor”。当 $CONSTRUCTOR = not_passed_in 时,它不
initialize: (options) ->
@collection.bind 'all', @render
$('.search_box').parent('form').submit (event) =>
@loading()
event.preventDefault()
query = $(event.target).find('.search_box').val()
window.app.navigate('?query=' + query, trigger: true)
passed_in = PaginationView
@render(passed_in)
render: (passed_in)=>
if @collection.isEmpty() && @collection.query
@$el.html(JST['users/no_results'](query: @collection.query))
else if @collection.isEmpty() # Not loaded yet
@$el.html("<div class='loading'></div>")
else
html = JST['users/user_list'](@viewData())
@$el.html(html)
for user in @collection.models
html = new UserListItemView(model: user).render().el
@$('tbody.users').append(html)
not_passed_in = PaginationView
new $CONSTRUCTOR(
type: "user"
el: @$('.paginate')
model: @collection
data: {}
onError: @onError
).bind('change', @loading)
这是 CoffeeScript 的已知(错误|功能)吗?还是我做错了什么?
(这些在 Backbone.coffee 视图中。我怀疑这是否相关)