私は非常にシンプルなバックボーンモデルとコレクションを持っています。私は対応するbackbone.marionette.CollectionViewとbackbone.marionette.ItemViewを持っていて、彼らはbackbone.marionette.regionに住んでいます。バックボーン。マリオネットmodel.destroy発行
ItemViewテンプレートには「削除」ボタンがあります。削除ボタンのクリックイベントは、model.destroy()を発行します。バックエンドに対してHTTP DELETEが発行されますが、2回発行されたように見えます。また、2回目に失敗すると、そのアイテムはコレクションから削除されません。
他のすべてが正常に動作しています.HTTP DELETEは2回発行されます。どんな考え?
は、私がBackbone.Marionetteバージョンv0.4.5に
# Model:
class User extends Backbone.Model
idAttribute: "_id"
# Collection
class Users extends Backbone.Collection
model: app.User
url: "/someUrl/Users"
# CollectionView
class UserListView extends Backbone.Marionette.CollectionView
tagName: "ul",
itemView: app.UserItemView
# ItemView
class UserItemView extends Backbone.Marionette.ItemView
template: "#item"
tagName: "li"
events:
"click .edit": "edit"
"click .remove": "remove"
remove: ->
@model.destroy()
edit: (e) ->
alert JSON.stringify @model
mhmmに役立ちます。イベントとメソッドに非標準の名前を使用してみてください。たとえば、 'myRename'のremoveメソッドの名前を変更しようとすることができます(removeはビューやコレクションで事前定義されたバックボーンメソッド) –
Daniele、あなたは間違いなしです。私は実際にはすでに解決策を研究していました(Derick Baileyの私のコンバートをhttps://github.com/derickbailey/backbone.marionette/issues/25でご覧ください)。しかし、あなたが以前のコメントを回答として投稿したいのであれば、それを喜んで正確にチェックして、クレジットを得るでしょう。再度、感謝します。 –
大丈夫、私たちは解決策を見て満足しています。その答えはポストに続きます。ありがとう –