私はbindAllを使用する際に問題があります。私が得るエラーはfunc is undefined
です。私が間違ってやっていることに関する考えは?バックボーンとbindAll: "funcは未定義です"
私は
bindAll
(上記のエラーで失敗)、そしてあなたがCoffeeScriptのを使用している- 個々
bind
S(動作しない)
window.test = Backbone.View.extend({
collection: null
initialize: ->
console.log('initialize()')
console.log(this)
# _.bindAll(this, ["render", "foo"])
_.bind(this.render, this) # these don't throw errors, but binding won't work
_.bind(this.foo, this)
@collection = new Backbone.Collection()
@collection.bind "add", @render
@collection.bind "add", @foo
@render()
foo: ->
# won't be bound to the view when called from the collection
console.log("foo()")
console.log(this)
console.log(this.collection) # undefined (since this is the collection, not the view)
render: ->
console.log("render()")
console.log(this)
return this
})
testInstance = new window.test();
# using _.bind instead of bindAll we get past this point, however this won't be the view
testInstance.collection.add({})
太い矢印をバックボーンモデルの「メソッド」で機能させることはできませんでした。 あなたは正しく、私のbindAll構文が間違っていました。ありがとう! – sandstrom
太った矢も私の問題を解決しました、ありがとう! – pws5068