我instanciate ChildView幾次。在ChildViews中有一個觸發器。一旦觸發,將調用父項中的函數來設置模型。問題是,觸發器只觸發一次(至少我能看到),但父母收到兩個。我知道幽靈的意見,但我怎麼找到他們?我不使用全局命名空間,我使用require.js。觸發事件被接收兩次。如何找到幽靈視圖?
vParentView = require 'views/parentview'
class vParentView
render: ->
view1 = new ChildView()
view1.on 'data changed', @updateModel, @
view2 = new ChildView()
view2.on 'data changed', @updateModel, @
view3 = new ChildView()
view3.on 'data changed', @updateModel, @
etc...
updateModel: (data) ->
@model.set data.attr, data.options
我刪除上下文@看哪個視圖觸發的UpdateModel()兩次,也許他們分別來自不同的看法,但他們沒有。所以,同一個視圖會觸發updateModel兩次。
編輯: 爲ChildView的代碼是有點無趣:
vChildView = require 'views/childview'
class vChildView
events:
'change input.someclass': 'onChangeInput'
'change textarea.someclass': 'onChangeInput'
onChangeInput: (e) ->
@trigger 'data changed'
render: ->
html = _.template tpl
@$el.html html
@
你有代碼爲視圖? – 2012-08-07 18:09:54